File tree Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -2646,6 +2646,7 @@ LogicalResult AliasOp::verify() {
2646
2646
case Linkage::Internal:
2647
2647
case Linkage::Private:
2648
2648
case Linkage::Weak:
2649
+ case Linkage::WeakODR:
2649
2650
case Linkage::Linkonce:
2650
2651
case Linkage::LinkonceODR:
2651
2652
case Linkage::AvailableExternally:
Original file line number Diff line number Diff line change @@ -26,23 +26,23 @@ llvm.mlir.alias external @_ZTV1D : !llvm.struct<(array<3 x ptr>)> {
26
26
27
27
// -----
28
28
29
- llvm.mlir.global external @zed (42 : i32 ) : i32
29
+ llvm.mlir.global weak_odr @zed (42 : i32 ) : i32
30
30
31
- llvm.mlir.alias external @foo : i32 {
31
+ llvm.mlir.alias weak_odr @foo : i32 {
32
32
%0 = llvm.mlir.addressof @zed : !llvm.ptr
33
33
llvm.return %0 : !llvm.ptr
34
34
}
35
35
36
- llvm.mlir.alias external @foo2 : i16 {
36
+ llvm.mlir.alias weak_odr @foo2 : i16 {
37
37
%0 = llvm.mlir.addressof @zed : !llvm.ptr
38
38
llvm.return %0 : !llvm.ptr
39
39
}
40
40
41
- // CHECK: llvm.mlir.alias external @foo : i32 {
41
+ // CHECK: llvm.mlir.alias weak_odr @foo : i32 {
42
42
// CHECK: %[[ADDR:.*]] = llvm.mlir.addressof @zed : !llvm.ptr
43
43
// CHECK: llvm.return %[[ADDR]] : !llvm.ptr
44
44
// CHECK: }
45
- // CHECK: llvm.mlir.alias external @foo2 : i16 {
45
+ // CHECK: llvm.mlir.alias weak_odr @foo2 : i16 {
46
46
// CHECK: %[[ADDR:.*]] = llvm.mlir.addressof @zed : !llvm.ptr
47
47
// CHECK: llvm.return %[[ADDR]] : !llvm.ptr
48
48
// CHECK: }
Original file line number Diff line number Diff line change @@ -62,6 +62,13 @@ entry:
62
62
63
63
; // -----
64
64
65
+ @glob.private2 = private constant [32 x i32 ] zeroinitializer
66
+ @glob2 = weak_odr hidden alias [32 x i32 ], inttoptr (i64 add (i64 ptrtoint (ptr @glob.private2 to i64 ), i64 1234 ) to ptr )
67
+
68
+ ; CHECK: llvm.mlir.alias weak_odr hidden @glob2 {dso_local} : !llvm.array<32 x i32> {
69
+
70
+ ; // -----
71
+
65
72
@g1 = private global i32 0
66
73
@g2 = internal constant ptr @a1
67
74
@g3 = internal constant ptr @a2
You can’t perform that action at this time.
0 commit comments