Skip to content

Commit b0cd5b2

Browse files
committed
[mlir][llvm] Switch remaining LLVM dialect tests to opaque pointers.
The revision switches the remaining LLVM dialect tests to use opaque pointers. Selected tests are copied to a postfixed test file for the time being. A number of tests disappear once we fully switch to opaque pointers. In particular, all tests that check verify a pointer element type matches another type as well as tests of recursive types. Part of https://discourse.llvm.org/t/rfc-switching-the-llvm-dialect-and-dialect-lowerings-to-opaque-pointers/68179 Reviewed By: Dinistro, zero9178 Differential Revision: https://reviews.llvm.org/D146726
1 parent f957b8f commit b0cd5b2

21 files changed

+991
-382
lines changed

mlir/test/Dialect/LLVMIR/callgraph.mlir

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -58,33 +58,32 @@ module attributes {"test.name" = "Invoke call"} {
5858
// CHECK-DAG: -- Call-Edge : <Unknown-Callee-Node>
5959

6060
// CHECK: -- SCCs --
61-
llvm.mlir.global external constant @_ZTIi() : !llvm.ptr<i8>
61+
llvm.mlir.global external constant @_ZTIi() : !llvm.ptr
6262
llvm.func @foo(%arg0: i32) -> !llvm.struct<(i32, f64, i32)>
63-
llvm.func @bar(!llvm.ptr<i8>, !llvm.ptr<i8>, !llvm.ptr<i8>)
63+
llvm.func @bar(!llvm.ptr, !llvm.ptr, !llvm.ptr)
6464
llvm.func @__gxx_personality_v0(...) -> i32
6565

6666
llvm.func @invokeLandingpad() -> i32 attributes { personality = @__gxx_personality_v0 } {
6767
%0 = llvm.mlir.constant(0 : i32) : i32
6868
%1 = llvm.mlir.constant(3 : i32) : i32
6969
%2 = llvm.mlir.constant("\01") : !llvm.array<1 x i8>
70-
%3 = llvm.mlir.null : !llvm.ptr<ptr<i8>>
71-
%4 = llvm.mlir.null : !llvm.ptr<i8>
72-
%5 = llvm.mlir.addressof @_ZTIi : !llvm.ptr<ptr<i8>>
73-
%6 = llvm.bitcast %5 : !llvm.ptr<ptr<i8>> to !llvm.ptr<i8>
74-
%7 = llvm.mlir.constant(1 : i32) : i32
75-
%8 = llvm.alloca %7 x i8 : (i32) -> !llvm.ptr<i8>
76-
%9 = llvm.invoke @foo(%7) to ^bb2 unwind ^bb1 : (i32) -> !llvm.struct<(i32, f64, i32)>
70+
%3 = llvm.mlir.null : !llvm.ptr
71+
%4 = llvm.mlir.null : !llvm.ptr
72+
%5 = llvm.mlir.addressof @_ZTIi : !llvm.ptr
73+
%6 = llvm.mlir.constant(1 : i32) : i32
74+
%7 = llvm.alloca %6 x i8 : (i32) -> !llvm.ptr
75+
%8 = llvm.invoke @foo(%6) to ^bb2 unwind ^bb1 : (i32) -> !llvm.struct<(i32, f64, i32)>
7776

7877
^bb1:
79-
%10 = llvm.landingpad cleanup (catch %3 : !llvm.ptr<ptr<i8>>) (catch %6 : !llvm.ptr<i8>) (filter %2 : !llvm.array<1 x i8>) : !llvm.struct<(ptr<i8>, i32)>
80-
%11 = llvm.intr.eh.typeid.for %6 : (!llvm.ptr<i8>) -> i32
81-
llvm.resume %10 : !llvm.struct<(ptr<i8>, i32)>
78+
%10 = llvm.landingpad cleanup (catch %3 : !llvm.ptr) (catch %5 : !llvm.ptr) (filter %2 : !llvm.array<1 x i8>) : !llvm.struct<(ptr, i32)>
79+
%11 = llvm.intr.eh.typeid.for %5 : (!llvm.ptr) -> i32
80+
llvm.resume %10 : !llvm.struct<(ptr, i32)>
8281

8382
^bb2:
84-
llvm.return %7 : i32
83+
llvm.return %6 : i32
8584

8685
^bb3:
87-
llvm.invoke @bar(%8, %6, %4) to ^bb2 unwind ^bb1 : (!llvm.ptr<i8>, !llvm.ptr<i8>, !llvm.ptr<i8>) -> ()
86+
llvm.invoke @bar(%7, %5, %4) to ^bb2 unwind ^bb1 : (!llvm.ptr, !llvm.ptr, !llvm.ptr) -> ()
8887

8988
^bb4:
9089
llvm.return %0 : i32
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
// RUN: mlir-opt --pass-pipeline='builtin.module(llvm.func(canonicalize{test-convergence}))' %s -split-input-file | FileCheck %s
2+
3+
// CHECK-LABEL: fold_bitcast
4+
// CHECK-SAME: %[[a0:arg[0-9]+]]
5+
// CHECK-NEXT: llvm.return %[[a0]]
6+
llvm.func @fold_bitcast(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
7+
%c = llvm.bitcast %x : !llvm.ptr<i8> to !llvm.ptr<i8>
8+
llvm.return %c : !llvm.ptr<i8>
9+
}
10+
11+
// CHECK-LABEL: fold_bitcast2
12+
// CHECK-SAME: %[[a0:arg[0-9]+]]
13+
// CHECK-NEXT: llvm.return %[[a0]]
14+
llvm.func @fold_bitcast2(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
15+
%c = llvm.bitcast %x : !llvm.ptr<i8> to !llvm.ptr<i32>
16+
%d = llvm.bitcast %c : !llvm.ptr<i32> to !llvm.ptr<i8>
17+
llvm.return %d : !llvm.ptr<i8>
18+
}
19+
20+
// -----
21+
22+
// CHECK-LABEL: fold_addrcast
23+
// CHECK-SAME: %[[a0:arg[0-9]+]]
24+
// CHECK-NEXT: llvm.return %[[a0]]
25+
llvm.func @fold_addrcast(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
26+
%c = llvm.addrspacecast %x : !llvm.ptr<i8> to !llvm.ptr<i8>
27+
llvm.return %c : !llvm.ptr<i8>
28+
}
29+
30+
// CHECK-LABEL: fold_addrcast2
31+
// CHECK-SAME: %[[a0:arg[0-9]+]]
32+
// CHECK-NEXT: llvm.return %[[a0]]
33+
llvm.func @fold_addrcast2(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
34+
%c = llvm.addrspacecast %x : !llvm.ptr<i8> to !llvm.ptr<i32, 5>
35+
%d = llvm.addrspacecast %c : !llvm.ptr<i32, 5> to !llvm.ptr<i8>
36+
llvm.return %d : !llvm.ptr<i8>
37+
}
38+
39+
// -----
40+
41+
// CHECK-LABEL: fold_gep
42+
// CHECK-SAME: %[[a0:arg[0-9]+]]
43+
// CHECK-NEXT: llvm.return %[[a0]]
44+
llvm.func @fold_gep(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
45+
%c0 = arith.constant 0 : i32
46+
%c = llvm.getelementptr %x[%c0] : (!llvm.ptr<i8>, i32) -> !llvm.ptr<i8>
47+
llvm.return %c : !llvm.ptr<i8>
48+
}
49+
50+
// -----
51+
52+
// CHECK-LABEL: fold_gep_canon
53+
// CHECK-SAME: %[[a0:arg[0-9]+]]
54+
// CHECK-NEXT: %[[RES:.*]] = llvm.getelementptr %[[a0]][2]
55+
// CHECK-NEXT: llvm.return %[[RES]]
56+
llvm.func @fold_gep_canon(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
57+
%c2 = arith.constant 2 : i32
58+
%c = llvm.getelementptr %x[%c2] : (!llvm.ptr<i8>, i32) -> !llvm.ptr<i8>
59+
llvm.return %c : !llvm.ptr<i8>
60+
}
61+
62+
// -----
63+
64+
// CHECK-LABEL: load_dce
65+
// CHECK-NEXT: llvm.return
66+
llvm.func @load_dce(%x : !llvm.ptr<i8>) {
67+
%0 = llvm.load %x : !llvm.ptr<i8>
68+
llvm.return
69+
}
70+
71+
llvm.mlir.global external @fp() : !llvm.ptr<i8>
72+
73+
// CHECK-LABEL: addr_dce
74+
// CHECK-NEXT: llvm.return
75+
llvm.func @addr_dce(%x : !llvm.ptr<i8>) {
76+
%0 = llvm.mlir.addressof @fp : !llvm.ptr<ptr<i8>>
77+
llvm.return
78+
}
79+
80+
// CHECK-LABEL: alloca_dce
81+
// CHECK-NEXT: llvm.return
82+
llvm.func @alloca_dce() {
83+
%c1_i64 = arith.constant 1 : i64
84+
%0 = llvm.alloca %c1_i64 x i32 : (i64) -> !llvm.ptr<i32>
85+
llvm.return
86+
}

mlir/test/Dialect/LLVMIR/canonicalize.mlir

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ llvm.func @no_fold_extractvalue(%arr: !llvm.array<4 x f32>) -> f32 {
3737
%3 = llvm.extractvalue %2[0, 0] : !llvm.array<4 x !llvm.array<4 x f32>>
3838

3939
llvm.return %3 : f32
40-
4140
}
41+
4242
// -----
4343

4444
// CHECK-LABEL: fold_unrelated_extractvalue
@@ -56,48 +56,48 @@ llvm.func @fold_unrelated_extractvalue(%arr: !llvm.array<4 x f32>) -> f32 {
5656
// CHECK-LABEL: fold_bitcast
5757
// CHECK-SAME: %[[a0:arg[0-9]+]]
5858
// CHECK-NEXT: llvm.return %[[a0]]
59-
llvm.func @fold_bitcast(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
60-
%c = llvm.bitcast %x : !llvm.ptr<i8> to !llvm.ptr<i8>
61-
llvm.return %c : !llvm.ptr<i8>
59+
llvm.func @fold_bitcast(%x : !llvm.ptr) -> !llvm.ptr {
60+
%c = llvm.bitcast %x : !llvm.ptr to !llvm.ptr
61+
llvm.return %c : !llvm.ptr
6262
}
6363

6464
// CHECK-LABEL: fold_bitcast2
6565
// CHECK-SAME: %[[a0:arg[0-9]+]]
6666
// CHECK-NEXT: llvm.return %[[a0]]
67-
llvm.func @fold_bitcast2(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
68-
%c = llvm.bitcast %x : !llvm.ptr<i8> to !llvm.ptr<i32>
69-
%d = llvm.bitcast %c : !llvm.ptr<i32> to !llvm.ptr<i8>
70-
llvm.return %d : !llvm.ptr<i8>
67+
llvm.func @fold_bitcast2(%x : i32) -> i32 {
68+
%c = llvm.bitcast %x : i32 to f32
69+
%d = llvm.bitcast %c : f32 to i32
70+
llvm.return %d : i32
7171
}
7272

7373
// -----
7474

7575
// CHECK-LABEL: fold_addrcast
7676
// CHECK-SAME: %[[a0:arg[0-9]+]]
7777
// CHECK-NEXT: llvm.return %[[a0]]
78-
llvm.func @fold_addrcast(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
79-
%c = llvm.addrspacecast %x : !llvm.ptr<i8> to !llvm.ptr<i8>
80-
llvm.return %c : !llvm.ptr<i8>
78+
llvm.func @fold_addrcast(%x : !llvm.ptr) -> !llvm.ptr {
79+
%c = llvm.addrspacecast %x : !llvm.ptr to !llvm.ptr
80+
llvm.return %c : !llvm.ptr
8181
}
8282

8383
// CHECK-LABEL: fold_addrcast2
8484
// CHECK-SAME: %[[a0:arg[0-9]+]]
8585
// CHECK-NEXT: llvm.return %[[a0]]
86-
llvm.func @fold_addrcast2(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
87-
%c = llvm.addrspacecast %x : !llvm.ptr<i8> to !llvm.ptr<i32, 5>
88-
%d = llvm.addrspacecast %c : !llvm.ptr<i32, 5> to !llvm.ptr<i8>
89-
llvm.return %d : !llvm.ptr<i8>
86+
llvm.func @fold_addrcast2(%x : !llvm.ptr) -> !llvm.ptr {
87+
%c = llvm.addrspacecast %x : !llvm.ptr to !llvm.ptr<5>
88+
%d = llvm.addrspacecast %c : !llvm.ptr<5> to !llvm.ptr
89+
llvm.return %d : !llvm.ptr
9090
}
9191

9292
// -----
9393

9494
// CHECK-LABEL: fold_gep
9595
// CHECK-SAME: %[[a0:arg[0-9]+]]
9696
// CHECK-NEXT: llvm.return %[[a0]]
97-
llvm.func @fold_gep(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
97+
llvm.func @fold_gep(%x : !llvm.ptr) -> !llvm.ptr {
9898
%c0 = arith.constant 0 : i32
99-
%c = llvm.getelementptr %x[%c0] : (!llvm.ptr<i8>, i32) -> !llvm.ptr<i8>
100-
llvm.return %c : !llvm.ptr<i8>
99+
%c = llvm.getelementptr %x[%c0] : (!llvm.ptr, i32) -> !llvm.ptr, i8
100+
llvm.return %c : !llvm.ptr
101101
}
102102

103103
// CHECK-LABEL: fold_gep_neg
@@ -114,13 +114,12 @@ llvm.func @fold_gep_neg(%x : !llvm.ptr) -> !llvm.ptr {
114114
// CHECK-SAME: %[[a0:arg[0-9]+]]
115115
// CHECK-NEXT: %[[RES:.*]] = llvm.getelementptr %[[a0]][2]
116116
// CHECK-NEXT: llvm.return %[[RES]]
117-
llvm.func @fold_gep_canon(%x : !llvm.ptr<i8>) -> !llvm.ptr<i8> {
117+
llvm.func @fold_gep_canon(%x : !llvm.ptr) -> !llvm.ptr {
118118
%c2 = arith.constant 2 : i32
119-
%c = llvm.getelementptr %x[%c2] : (!llvm.ptr<i8>, i32) -> !llvm.ptr<i8>
120-
llvm.return %c : !llvm.ptr<i8>
119+
%c = llvm.getelementptr %x[%c2] : (!llvm.ptr, i32) -> !llvm.ptr, i8
120+
llvm.return %c : !llvm.ptr
121121
}
122122

123-
124123
// -----
125124

126125
// Check that LLVM constants participate in cross-dialect constant folding. The
@@ -142,24 +141,24 @@ llvm.func @llvm_constant() -> i32 {
142141

143142
// CHECK-LABEL: load_dce
144143
// CHECK-NEXT: llvm.return
145-
llvm.func @load_dce(%x : !llvm.ptr<i8>) {
146-
%0 = llvm.load %x : !llvm.ptr<i8>
144+
llvm.func @load_dce(%x : !llvm.ptr) {
145+
%0 = llvm.load %x : !llvm.ptr -> i8
147146
llvm.return
148147
}
149148

150-
llvm.mlir.global external @fp() : !llvm.ptr<i8>
149+
llvm.mlir.global external @fp() : !llvm.ptr
151150

152151
// CHECK-LABEL: addr_dce
153152
// CHECK-NEXT: llvm.return
154-
llvm.func @addr_dce(%x : !llvm.ptr<i8>) {
155-
%0 = llvm.mlir.addressof @fp : !llvm.ptr<ptr<i8>>
153+
llvm.func @addr_dce(%x : !llvm.ptr) {
154+
%0 = llvm.mlir.addressof @fp : !llvm.ptr
156155
llvm.return
157156
}
158157

159158
// CHECK-LABEL: alloca_dce
160159
// CHECK-NEXT: llvm.return
161160
llvm.func @alloca_dce() {
162161
%c1_i64 = arith.constant 1 : i64
163-
%0 = llvm.alloca %c1_i64 x i32 : (i64) -> !llvm.ptr<i32>
162+
%0 = llvm.alloca %c1_i64 x i32 : (i64) -> !llvm.ptr
164163
llvm.return
165164
}

mlir/test/Dialect/LLVMIR/debuginfo.mlir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,10 @@
134134
llvm.func @addr(%arg: i64) {
135135
// CHECK: %[[ALLOC:.*]] = llvm.alloca
136136
%allocCount = llvm.mlir.constant(1 : i32) : i32
137-
%alloc = llvm.alloca %allocCount x i64 : (i32) -> !llvm.ptr<i64>
137+
%alloc = llvm.alloca %allocCount x i64 : (i32) -> !llvm.ptr
138138

139139
// CHECK: llvm.intr.dbg.declare #[[VAR0]] = %[[ALLOC]]
140-
llvm.intr.dbg.declare #var0 = %alloc : !llvm.ptr<i64>
140+
llvm.intr.dbg.declare #var0 = %alloc : !llvm.ptr
141141
llvm.return
142142
}
143143

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// RUN: mlir-opt %s | FileCheck %s
2+
3+
module attributes {dlti.dl_spec = #dlti.dl_spec<#dlti.dl_entry<i1, dense<8> : vector<2xi32>>, #dlti.dl_entry<i8, dense<8> : vector<2xi32>>, #dlti.dl_entry<i16, dense<16> : vector<2xi32>>, #dlti.dl_entry<i32, dense<32> : vector<2xi32>>, #dlti.dl_entry<i64, dense<[32, 64]> : vector<2xi32>>, #dlti.dl_entry<f16, dense<16> : vector<2xi32>>, #dlti.dl_entry<f64, dense<64> : vector<2xi32>>, #dlti.dl_entry<f128, dense<128> : vector<2xi32>>>} {
4+
// CHECK: llvm.func @foo(%[[ARG0:.+]]: !llvm.ptr<struct<"my_struct", {{.+}}>>, %[[ARG1:.+]]: i32)
5+
llvm.func @foo(%arg0: !llvm.ptr<struct<"my_struct", (struct<"sub_struct", (i32, i8)>, array<4 x i32>)>>, %arg1: i32) {
6+
// CHECK: %[[C0:.+]] = llvm.mlir.constant(0 : i32)
7+
%0 = llvm.mlir.constant(0 : i32) : i32
8+
// CHECK: llvm.getelementptr %[[ARG0]][%[[C0]], 1, %[[ARG1]]]
9+
%1 = "llvm.getelementptr"(%arg0, %0, %arg1) {rawConstantIndices = array<i32: -2147483648, 1, -2147483648>} : (!llvm.ptr<struct<"my_struct", (struct<"sub_struct", (i32, i8)>, array<4 x i32>)>>, i32, i32) -> !llvm.ptr<i32>
10+
llvm.return
11+
}
12+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// RUN: mlir-opt %s | FileCheck %s
22

33
module attributes {dlti.dl_spec = #dlti.dl_spec<#dlti.dl_entry<i1, dense<8> : vector<2xi32>>, #dlti.dl_entry<i8, dense<8> : vector<2xi32>>, #dlti.dl_entry<i16, dense<16> : vector<2xi32>>, #dlti.dl_entry<i32, dense<32> : vector<2xi32>>, #dlti.dl_entry<i64, dense<[32, 64]> : vector<2xi32>>, #dlti.dl_entry<f16, dense<16> : vector<2xi32>>, #dlti.dl_entry<f64, dense<64> : vector<2xi32>>, #dlti.dl_entry<f128, dense<128> : vector<2xi32>>>} {
4-
// CHECK: llvm.func @foo(%[[ARG0:.+]]: !llvm.ptr<struct<"my_struct", {{.+}}>>, %[[ARG1:.+]]: i32)
5-
llvm.func @foo(%arg0: !llvm.ptr<struct<"my_struct", (struct<"sub_struct", (i32, i8)>, array<4 x i32>)>>, %arg1: i32) {
4+
// CHECK: llvm.func @foo(%[[ARG0:.+]]: !llvm.ptr, %[[ARG1:.+]]: i32)
5+
llvm.func @foo(%arg0: !llvm.ptr, %arg1: i32) {
66
// CHECK: %[[C0:.+]] = llvm.mlir.constant(0 : i32)
77
%0 = llvm.mlir.constant(0 : i32) : i32
88
// CHECK: llvm.getelementptr %[[ARG0]][%[[C0]], 1, %[[ARG1]]]
9-
%1 = "llvm.getelementptr"(%arg0, %0, %arg1) {rawConstantIndices = array<i32: -2147483648, 1, -2147483648>} : (!llvm.ptr<struct<"my_struct", (struct<"sub_struct", (i32, i8)>, array<4 x i32>)>>, i32, i32) -> !llvm.ptr<i32>
9+
%1 = "llvm.getelementptr"(%arg0, %0, %arg1) {elem_type = !llvm.struct<"my_struct", (struct<"sub_struct", (i32, i8)>, array<4 x i32>)>, rawConstantIndices = array<i32: -2147483648, 1, -2147483648>} : (!llvm.ptr, i32, i32) -> !llvm.ptr
1010
llvm.return
1111
}
1212
}

mlir/test/Dialect/LLVMIR/func.mlir

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ module {
3333
// GENERIC-SAME: () -> ()
3434
}) {sym_name = "baz", function_type = !llvm.func<i64 (i64)>} : () -> ()
3535

36-
// CHECK: llvm.func @qux(!llvm.ptr<i64> {llvm.noalias}, i64)
36+
// CHECK: llvm.func @qux(!llvm.ptr {llvm.noalias}, i64)
3737
// CHECK: attributes {xxx = {yyy = 42 : i64}}
3838
"llvm.func"() ({
39-
}) {sym_name = "qux", function_type = !llvm.func<void (ptr<i64>, i64)>,
39+
}) {sym_name = "qux", function_type = !llvm.func<void (ptr, i64)>,
4040
arg_attrs = [{llvm.noalias}, {}], xxx = {yyy = 42}} : () -> ()
4141

4242
// CHECK: llvm.func @roundtrip1()
@@ -71,56 +71,56 @@ module {
7171
// CHECK: llvm.func @roundtrip8() -> i32
7272
llvm.func @roundtrip8() -> i32 attributes {}
7373

74-
// CHECK: llvm.func @roundtrip9(!llvm.ptr<i32> {llvm.noalias})
75-
llvm.func @roundtrip9(!llvm.ptr<i32> {llvm.noalias})
74+
// CHECK: llvm.func @roundtrip9(!llvm.ptr {llvm.noalias})
75+
llvm.func @roundtrip9(!llvm.ptr {llvm.noalias})
7676

77-
// CHECK: llvm.func @roundtrip10(!llvm.ptr<i32> {llvm.noalias})
78-
llvm.func @roundtrip10(%arg0: !llvm.ptr<i32> {llvm.noalias})
77+
// CHECK: llvm.func @roundtrip10(!llvm.ptr {llvm.noalias})
78+
llvm.func @roundtrip10(%arg0: !llvm.ptr {llvm.noalias})
7979

80-
// CHECK: llvm.func @roundtrip11(%{{.*}}: !llvm.ptr<i32> {llvm.noalias}) {
81-
llvm.func @roundtrip11(%arg0: !llvm.ptr<i32> {llvm.noalias}) {
80+
// CHECK: llvm.func @roundtrip11(%{{.*}}: !llvm.ptr {llvm.noalias}) {
81+
llvm.func @roundtrip11(%arg0: !llvm.ptr {llvm.noalias}) {
8282
llvm.return
8383
}
8484

85-
// CHECK: llvm.func @roundtrip12(%{{.*}}: !llvm.ptr<i32> {llvm.noalias})
85+
// CHECK: llvm.func @roundtrip12(%{{.*}}: !llvm.ptr {llvm.noalias})
8686
// CHECK: attributes {foo = 42 : i32}
87-
llvm.func @roundtrip12(%arg0: !llvm.ptr<i32> {llvm.noalias})
87+
llvm.func @roundtrip12(%arg0: !llvm.ptr {llvm.noalias})
8888
attributes {foo = 42 : i32} {
8989
llvm.return
9090
}
9191

92-
// CHECK: llvm.func @byvalattr(%{{.*}}: !llvm.ptr<i32> {llvm.byval = i32})
93-
llvm.func @byvalattr(%arg0: !llvm.ptr<i32> {llvm.byval = i32}) {
92+
// CHECK: llvm.func @byvalattr(%{{.*}}: !llvm.ptr {llvm.byval = i32})
93+
llvm.func @byvalattr(%arg0: !llvm.ptr {llvm.byval = i32}) {
9494
llvm.return
9595
}
9696

97-
// CHECK: llvm.func @sretattr(%{{.*}}: !llvm.ptr<i32> {llvm.sret = i32})
98-
// LOCINFO: llvm.func @sretattr(%{{.*}}: !llvm.ptr<i32> {llvm.sret = i32} loc("some_source_loc"))
99-
llvm.func @sretattr(%arg0: !llvm.ptr<i32> {llvm.sret = i32} loc("some_source_loc")) {
97+
// CHECK: llvm.func @sretattr(%{{.*}}: !llvm.ptr {llvm.sret = i32})
98+
// LOCINFO: llvm.func @sretattr(%{{.*}}: !llvm.ptr {llvm.sret = i32} loc("some_source_loc"))
99+
llvm.func @sretattr(%arg0: !llvm.ptr {llvm.sret = i32} loc("some_source_loc")) {
100100
llvm.return
101101
}
102102

103-
// CHECK: llvm.func @nestattr(%{{.*}}: !llvm.ptr<i32> {llvm.nest})
104-
llvm.func @nestattr(%arg0: !llvm.ptr<i32> {llvm.nest}) {
103+
// CHECK: llvm.func @nestattr(%{{.*}}: !llvm.ptr {llvm.nest})
104+
llvm.func @nestattr(%arg0: !llvm.ptr {llvm.nest}) {
105105
llvm.return
106106
}
107107

108-
// CHECK: llvm.func @llvm_noalias_decl(!llvm.ptr<f32> {llvm.noalias})
109-
llvm.func @llvm_noalias_decl(!llvm.ptr<f32> {llvm.noalias})
110-
// CHECK: llvm.func @byrefattr_decl(!llvm.ptr<i32> {llvm.byref = i32})
111-
llvm.func @byrefattr_decl(!llvm.ptr<i32> {llvm.byref = i32})
112-
// CHECK: llvm.func @byvalattr_decl(!llvm.ptr<i32> {llvm.byval = i32})
113-
llvm.func @byvalattr_decl(!llvm.ptr<i32> {llvm.byval = i32})
114-
// CHECK: llvm.func @sretattr_decl(!llvm.ptr<i32> {llvm.sret = i32})
115-
llvm.func @sretattr_decl(!llvm.ptr<i32> {llvm.sret = i32})
116-
// CHECK: llvm.func @nestattr_decl(!llvm.ptr<i32> {llvm.nest})
117-
llvm.func @nestattr_decl(!llvm.ptr<i32> {llvm.nest})
108+
// CHECK: llvm.func @llvm_noalias_decl(!llvm.ptr {llvm.noalias})
109+
llvm.func @llvm_noalias_decl(!llvm.ptr {llvm.noalias})
110+
// CHECK: llvm.func @byrefattr_decl(!llvm.ptr {llvm.byref = i32})
111+
llvm.func @byrefattr_decl(!llvm.ptr {llvm.byref = i32})
112+
// CHECK: llvm.func @byvalattr_decl(!llvm.ptr {llvm.byval = i32})
113+
llvm.func @byvalattr_decl(!llvm.ptr {llvm.byval = i32})
114+
// CHECK: llvm.func @sretattr_decl(!llvm.ptr {llvm.sret = i32})
115+
llvm.func @sretattr_decl(!llvm.ptr {llvm.sret = i32})
116+
// CHECK: llvm.func @nestattr_decl(!llvm.ptr {llvm.nest})
117+
llvm.func @nestattr_decl(!llvm.ptr {llvm.nest})
118118
// CHECK: llvm.func @noundefattr_decl(i32 {llvm.noundef})
119119
llvm.func @noundefattr_decl(i32 {llvm.noundef})
120-
// CHECK: llvm.func @llvm_align_decl(!llvm.ptr<f32> {llvm.align = 4 : i64})
121-
llvm.func @llvm_align_decl(!llvm.ptr<f32> {llvm.align = 4})
122-
// CHECK: llvm.func @inallocaattr_decl(!llvm.ptr<i32> {llvm.inalloca = i32})
123-
llvm.func @inallocaattr_decl(!llvm.ptr<i32> {llvm.inalloca = i32})
120+
// CHECK: llvm.func @llvm_align_decl(!llvm.ptr {llvm.align = 4 : i64})
121+
llvm.func @llvm_align_decl(!llvm.ptr {llvm.align = 4})
122+
// CHECK: llvm.func @inallocaattr_decl(!llvm.ptr {llvm.inalloca = i32})
123+
llvm.func @inallocaattr_decl(!llvm.ptr {llvm.inalloca = i32})
124124

125125

126126
// CHECK: llvm.func @variadic(...)

0 commit comments

Comments
 (0)