@@ -24,7 +24,7 @@ func.func private @g(%b : !fir.box<f32>)
24
24
func.func private @ga(%b : !fir.box<!fir.array<?xf32>>)
25
25
26
26
// CHECK-LABEL: define void @f
27
- // CHECK: (ptr nocapture %[[ARG:.*]])
27
+ // CHECK: (ptr captures(none) %[[ARG:.*]])
28
28
func.func @f(%a : !fir.ref<f32>) {
29
29
// CHECK: %[[DESC:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8 }
30
30
// CHECK: %[[INS0:.*]] = insertvalue {{.*}} { ptr undef, i64 ptrtoint (ptr getelementptr (float, ptr null, i32 1) to i64), i32 20240719, i8 0, i8 27, i8 0, i8 0 }, ptr %[[ARG]], 0
@@ -38,7 +38,7 @@ func.func @f(%a : !fir.ref<f32>) {
38
38
}
39
39
40
40
// CHECK-LABEL: define void @fa
41
- // CHECK: (ptr nocapture %[[ARG:.*]])
41
+ // CHECK: (ptr captures(none) %[[ARG:.*]])
42
42
func.func @fa(%a : !fir.ref<!fir.array<100xf32>>) {
43
43
%c = fir.convert %a : (!fir.ref<!fir.array<100xf32>>) -> !fir.ref<!fir.array<?xf32>>
44
44
%c1 = arith.constant 1 : index
@@ -54,7 +54,7 @@ func.func @fa(%a : !fir.ref<!fir.array<100xf32>>) {
54
54
55
55
// Boxing of a scalar character of dynamic length
56
56
// CHECK-LABEL: define void @b1(
57
- // CHECK-SAME: ptr nocapture %[[res:.*]], ptr nocapture %[[arg0:.*]], i64 %[[arg1:.*]])
57
+ // CHECK-SAME: ptr captures(none) %[[res:.*]], ptr captures(none) %[[arg0:.*]], i64 %[[arg1:.*]])
58
58
func.func @b1(%arg0 : !fir.ref<!fir.char<1,?>>, %arg1 : index) -> !fir.box<!fir.char<1,?>> {
59
59
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8 }
60
60
// CHECK: %[[size:.*]] = mul i64 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i64), %[[arg1]]
@@ -69,8 +69,8 @@ func.func @b1(%arg0 : !fir.ref<!fir.char<1,?>>, %arg1 : index) -> !fir.box<!fir.
69
69
70
70
// Boxing of a dynamic array of character with static length (5)
71
71
// CHECK-LABEL: define void @b2(
72
- // CHECK-SAME: ptr nocapture %[[res]],
73
- // CHECK-SAME: ptr nocapture %[[arg0:.*]], i64 %[[arg1:.*]])
72
+ // CHECK-SAME: ptr captures(none) %[[res]],
73
+ // CHECK-SAME: ptr captures(none) %[[arg0:.*]], i64 %[[arg1:.*]])
74
74
func.func @b2(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,5>>>, %arg1 : index) -> !fir.box<!fir.array<?x!fir.char<1,5>>> {
75
75
%1 = fir.shape %arg1 : (index) -> !fir.shape<1>
76
76
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }
@@ -85,7 +85,7 @@ func.func @b2(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,5>>>, %arg1 : index) ->
85
85
86
86
// Boxing of a dynamic array of character of dynamic length
87
87
// CHECK-LABEL: define void @b3(
88
- // CHECK-SAME: ptr nocapture %[[res:.*]], ptr nocapture %[[arg0:.*]], i64 %[[arg1:.*]], i64 %[[arg2:.*]])
88
+ // CHECK-SAME: ptr captures(none) %[[res:.*]], ptr captures(none) %[[arg0:.*]], i64 %[[arg1:.*]], i64 %[[arg2:.*]])
89
89
func.func @b3(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,?>>>, %arg1 : index, %arg2 : index) -> !fir.box<!fir.array<?x!fir.char<1,?>>> {
90
90
%1 = fir.shape %arg2 : (index) -> !fir.shape<1>
91
91
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }
@@ -103,7 +103,7 @@ func.func @b3(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,?>>>, %arg1 : index, %ar
103
103
104
104
// Boxing of a static array of character of dynamic length
105
105
// CHECK-LABEL: define void @b4(
106
- // CHECK-SAME: ptr nocapture %[[res:.*]], ptr nocapture %[[arg0:.*]], i64 %[[arg1:.*]])
106
+ // CHECK-SAME: ptr captures(none) %[[res:.*]], ptr captures(none) %[[arg0:.*]], i64 %[[arg1:.*]])
107
107
func.func @b4(%arg0 : !fir.ref<!fir.array<7x!fir.char<1,?>>>, %arg1 : index) -> !fir.box<!fir.array<7x!fir.char<1,?>>> {
108
108
%c_7 = arith.constant 7 : index
109
109
%1 = fir.shape %c_7 : (index) -> !fir.shape<1>
@@ -122,7 +122,7 @@ func.func @b4(%arg0 : !fir.ref<!fir.array<7x!fir.char<1,?>>>, %arg1 : index) ->
122
122
123
123
// Storing a fir.box into a fir.ref<fir.box> (modifying descriptors).
124
124
// CHECK-LABEL: define void @b5(
125
- // CHECK-SAME: ptr nocapture %[[arg0:.*]], ptr %[[arg1:.*]])
125
+ // CHECK-SAME: ptr captures(none) %[[arg0:.*]], ptr %[[arg1:.*]])
126
126
func.func @b5(%arg0 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x?xf32>>>>, %arg1 : !fir.box<!fir.heap<!fir.array<?x?xf32>>>) {
127
127
fir.store %arg1 to %arg0 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x?xf32>>>>
128
128
// CHECK: call void @llvm.memcpy.p0.p0.i32(ptr %0, ptr %1, i32 72, i1 false)
@@ -132,7 +132,7 @@ func.func @b5(%arg0 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x?xf32>>>>, %arg1
132
132
func.func private @callee6(!fir.box<none>) -> i32
133
133
134
134
// CHECK-LABEL: define i32 @box6(
135
- // CHECK-SAME: ptr nocapture %[[ARG0:.*]], i64 %[[ARG1:.*]], i64 %[[ARG2:.*]])
135
+ // CHECK-SAME: ptr captures(none) %[[ARG0:.*]], i64 %[[ARG1:.*]], i64 %[[ARG2:.*]])
136
136
func.func @box6(%0 : !fir.ref<!fir.array<?x?x?x?xf32>>, %1 : index, %2 : index) -> i32 {
137
137
%c100 = arith.constant 100 : index
138
138
%c50 = arith.constant 50 : index
0 commit comments