Skip to content

Commit 89e17b0

Browse files
committed
[MLIR][mlir-link] Add adapted tests for unnamed_addr
1 parent 57abe66 commit 89e17b0

File tree

4 files changed

+152
-0
lines changed

4 files changed

+152
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// RUN: not mlir-link %s %S/unnamed-addr-err-b.mlir 2>&1 | FileCheck %s
2+
3+
// CHECK: Appending variables with different unnamed_addr need to be linked
4+
5+
module {
6+
llvm.mlir.global appending unnamed_addr @foo(dense<42> : tensor<1xi32>) {addr_space = 0 : i32} : !llvm.array<1 x i32>
7+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// RUN: true
2+
3+
module {
4+
llvm.mlir.global appending @foo(dense<42> : tensor<1xi32>) {addr_space = 0 : i32} : !llvm.array<1 x i32>
5+
}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
// RUN: mlir-link %s %S/unnamed-addr1-b.ll -o - | FileCheck %s
2+
3+
// llvm.mlir.alias not yet supported
4+
// XFAIL: *
5+
6+
module {
7+
// CHECK-DAG: llvm.mlir.global common @"global-a"(0 : i32)
8+
llvm.mlir.global common @"global-a"(0 : i32) {addr_space = 0 : i32} : i32
9+
10+
// CHECK-DAG: llvm.mlir.global common unnamed_addr @"global-b"(0 : i32)
11+
llvm.mlir.global common unnamed_addr @"global-b"(0 : i32) {addr_space = 0 : i32} : i32
12+
13+
// CHECK-DAG: llvm.mlir.global common unnamed_addr @"global-c"(0 : i32)
14+
llvm.mlir.global common unnamed_addr @"global-c"(0 : i32) {addr_space = 0 : i32} : i32
15+
16+
// CHECK-DAG: llvm.mlir.global external @"global-d"(42 : i32)
17+
llvm.mlir.global external @"global-d"() {addr_space = 0 : i32} : i32
18+
19+
// CHECK-DAG: llvm.mlir.global external unnamed_addr @"global-e"(42 : i32)
20+
llvm.mlir.global external unnamed_addr @"global-e"() {addr_space = 0 : i32} : i32
21+
22+
// CHECK-DAG: llvm.mlir.global external @"global-f"(42 : i32)
23+
llvm.mlir.global weak @"global-f"(42 : i32) {addr_space = 0 : i32} : i32
24+
25+
// CHECK-DAG: llvm.mlir.alias external @"alias-a" : i32 {
26+
llvm.mlir.global weak @"alias-a"(42 : i32) {addr_space = 0 : i32} : i32
27+
28+
// CHECK-DAG: llvm.mlir.alias external unnamed_addr @"alias-b" : i32 {
29+
llvm.mlir.global weak unnamed_addr @"alias-b"(42 : i32) {addr_space = 0 : i32} : i32
30+
31+
// CHECK-DAG: llvm.mlir.global common @"global-g"(0: i32)
32+
llvm.mlir.global common unnamed_addr @"global-g"(0 : i32) {addr_space = 0 : i32} : i32
33+
34+
// CHECK-DAG: llvm.mlir.global external @"global-h"(42 : i32)
35+
llvm.mlir.global external @"global-h"() {addr_space = 0 : i32} : i32
36+
37+
// CHECK-DAG: llvm.mlir.global external @"global-i"(42 : i32)
38+
llvm.mlir.global external unnamed_addr @"global-i"() {addr_space = 0 : i32} : i32
39+
40+
// CHECK-DAG: llvm.mlir.global external @"global-j"(42 : i32)
41+
llvm.mlir.global weak @"global-j"(42 : i32) {addr_space = 0 : i32} : i32
42+
43+
// CHECK-DAG: llvm.mlir.alias external @"alias-c" : i32 {
44+
llvm.mlir.global weak @"alias-c"(42 : i32) {addr_space = 0 : i32} : i32
45+
46+
// CHECK-DAG: llvm.mlir.alias external @"alias-d" : i32 {
47+
llvm.mlir.global weak unnamed_addr @"alias-d"(42 : i32) {addr_space = 0 : i32} : i32
48+
49+
// CHECK-DAG: llvm.func weak @"func-a"() {
50+
llvm.func weak @"func-a"() {
51+
llvm.return
52+
}
53+
54+
// CHECK-DAG: llvm.func weak unnamed_addr @"func-b"() {
55+
llvm.func weak unnamed_addr @"func-b"() {
56+
llvm.return
57+
}
58+
59+
llvm.func @"use-global-d"() -> !llvm.ptr {
60+
%0 = llvm.mlir.addressof @"global-d" : !llvm.ptr
61+
llvm.return %0 : !llvm.ptr
62+
}
63+
64+
// CHECK-DAG: llvm.func weak @"func-c"() {
65+
llvm.func @"func-c"()
66+
67+
llvm.func @"use-func-c"() {
68+
llvm.call @"func-c"() : () -> ()
69+
llvm.return
70+
}
71+
72+
// CHECK-DAG: llvm.func weak @"func-d"() {
73+
llvm.func weak @"func-d"() {
74+
llvm.return
75+
}
76+
77+
// CHECK-DAG llvm.func weak unnamed_addr @"func-e"() {
78+
llvm.func weak unnamed_addr @"func-e"() {
79+
llvm.return
80+
}
81+
82+
// CHECK-DAG: llvm.func weak @"func-g"() {
83+
llvm.func @"func-g"()
84+
85+
// CHECK-DAG: llvm.func weak @"func-h"() {
86+
llvm.func weak @"func-h"() {
87+
llvm.return
88+
}
89+
90+
// CHECK-DAG: llvm.func weak @"func-i"() {
91+
llvm.func weak unnamed_addr @"func-i"() {
92+
llvm.return
93+
}
94+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// RUN: true
2+
3+
module {
4+
llvm.mlir.global common unnamed_addr @"global-c"(0 : i32) {addr_space = 0 : i32} : i32
5+
llvm.mlir.global external unnamed_addr @"global-d"(42 : i32) {addr_space = 0 : i32} : i32
6+
llvm.mlir.global external unnamed_addr @"global-e"(42 : i32) {addr_space = 0 : i32} : i32
7+
llvm.mlir.global external unnamed_addr @"global-f"(42 : i32) {addr_space = 0 : i32} : i32
8+
llvm.mlir.global common @"global-g"(0 : i32) {addr_space = 0 : i32} : i32
9+
llvm.mlir.global external @"global-h"(42 : i32) {addr_space = 0 : i32} : i32
10+
llvm.mlir.global external @"global-i"(42 : i32) {addr_space = 0 : i32} : i32
11+
llvm.mlir.global external @"global-j"(42 : i32) {addr_space = 0 : i32} : i32
12+
llvm.mlir.alias external unnamed_addr @"alias-a" : i32 {
13+
%0 = llvm.mlir.addressof @"global-f" : !llvm.ptr
14+
llvm.return %0 : !llvm.ptr
15+
}
16+
llvm.mlir.alias external unnamed_addr @"alias-b" : i32 {
17+
%0 = llvm.mlir.addressof @"global-f" : !llvm.ptr
18+
llvm.return %0 : !llvm.ptr
19+
}
20+
llvm.mlir.alias external @"alias-c" : i32 {
21+
%0 = llvm.mlir.addressof @"global-f" : !llvm.ptr
22+
llvm.return %0 : !llvm.ptr
23+
}
24+
llvm.mlir.alias external @"alias-d" : i32 {
25+
%0 = llvm.mlir.addressof @"global-f" : !llvm.ptr
26+
llvm.return %0 : !llvm.ptr
27+
}
28+
llvm.func weak unnamed_addr @"func-c"() {
29+
llvm.return
30+
}
31+
llvm.func weak unnamed_addr @"func-d"() {
32+
llvm.return
33+
}
34+
llvm.func weak unnamed_addr @"func-e"() {
35+
llvm.return
36+
}
37+
llvm.func weak @"func-g"() {
38+
llvm.return
39+
}
40+
llvm.func weak @"func-h"() {
41+
llvm.return
42+
}
43+
llvm.func weak @"func-i"() {
44+
llvm.return
45+
}
46+
}

0 commit comments

Comments
 (0)