1
- // RUN: mlir-opt -convert-openacc-to-llvm -split-input-file %s | FileCheck %s
1
+ // RUN: mlir-opt -convert-openacc-to-llvm='use-opaque-pointers=1' -split-input-file %s | FileCheck %s
2
2
3
3
func.func @testenterdataop (%a: memref <10 xf32 >, %b: memref <10 xf32 >) -> () {
4
4
acc.enter_data copyin (%b : memref <10 xf32 >) create (%a : memref <10 xf32 >)
5
5
return
6
6
}
7
7
8
- // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
8
+ // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
9
9
10
10
// -----
11
11
12
- func.func @testenterdataop (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >) -> () {
13
- acc.enter_data copyin (%b : memref <10 xf32 >) create (%a : !llvm.ptr < f32 > )
12
+ func.func @testenterdataop (%a: !llvm.ptr , %b: memref <10 xf32 >) -> () {
13
+ acc.enter_data copyin (%b : memref <10 xf32 >) create (%a : !llvm.ptr )
14
14
return
15
15
}
16
16
17
- // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create(%{{.*}} : !llvm.ptr<f32> )
17
+ // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create(%{{.*}} : !llvm.ptr)
18
18
19
19
// -----
20
20
@@ -23,7 +23,7 @@ func.func @testenterdataop(%a: memref<10xi64>, %b: memref<10xf32>) -> () {
23
23
return
24
24
}
25
25
26
- // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create_zero(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<i64> , ptr<i64> , i64, array<1 x i64>, array<1 x i64>)>, ptr<i64> , i64)>) attributes {async}
26
+ // CHECK: acc.enter_data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create_zero(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) attributes {async}
27
27
28
28
// -----
29
29
@@ -33,7 +33,7 @@ func.func @testenterdataop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
33
33
return
34
34
}
35
35
36
- // CHECK: acc.enter_data if(%{{.*}}) copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
36
+ // CHECK: acc.enter_data if(%{{.*}}) copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
37
37
38
38
// -----
39
39
@@ -42,16 +42,16 @@ func.func @testexitdataop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
42
42
return
43
43
}
44
44
45
- // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
45
+ // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
46
46
47
47
// -----
48
48
49
- func.func @testexitdataop (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >) -> () {
50
- acc.exit_data copyout (%b : memref <10 xf32 >) delete (%a : !llvm.ptr < f32 > )
49
+ func.func @testexitdataop (%a: !llvm.ptr , %b: memref <10 xf32 >) -> () {
50
+ acc.exit_data copyout (%b : memref <10 xf32 >) delete (%a : !llvm.ptr )
51
51
return
52
52
}
53
53
54
- // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) delete(%{{.*}} : !llvm.ptr<f32> )
54
+ // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) delete(%{{.*}} : !llvm.ptr)
55
55
56
56
// -----
57
57
@@ -60,7 +60,7 @@ func.func @testexitdataop(%a: memref<10xi64>, %b: memref<10xf32>) -> () {
60
60
return
61
61
}
62
62
63
- // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<i64> , ptr<i64> , i64, array<1 x i64>, array<1 x i64>)>, ptr<i64> , i64)>) attributes {async}
63
+ // CHECK: acc.exit_data copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) attributes {async}
64
64
65
65
// -----
66
66
@@ -70,7 +70,7 @@ func.func @testexitdataop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
70
70
return
71
71
}
72
72
73
- // CHECK: acc.exit_data if(%{{.*}}) copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
73
+ // CHECK: acc.exit_data if(%{{.*}}) copyout(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) delete(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
74
74
75
75
// -----
76
76
@@ -79,16 +79,16 @@ func.func @testupdateop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
79
79
return
80
80
}
81
81
82
- // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
82
+ // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
83
83
84
84
// -----
85
85
86
- func.func @testupdateop (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >) -> () {
87
- acc.update host (%b : memref <10 xf32 >) device (%a : !llvm.ptr < f32 > )
86
+ func.func @testupdateop (%a: !llvm.ptr , %b: memref <10 xf32 >) -> () {
87
+ acc.update host (%b : memref <10 xf32 >) device (%a : !llvm.ptr )
88
88
return
89
89
}
90
90
91
- // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) device(%{{.*}} : !llvm.ptr<f32> )
91
+ // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) device(%{{.*}} : !llvm.ptr)
92
92
93
93
// -----
94
94
@@ -97,7 +97,7 @@ func.func @testupdateop(%a: memref<10xi64>, %b: memref<10xf32>) -> () {
97
97
return
98
98
}
99
99
100
- // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<i64> , ptr<i64> , i64, array<1 x i64>, array<1 x i64>)>, ptr<i64> , i64)>) attributes {async}
100
+ // CHECK: acc.update host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) attributes {async}
101
101
102
102
// -----
103
103
@@ -107,7 +107,7 @@ func.func @testupdateop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
107
107
return
108
108
}
109
109
110
- // CHECK: acc.update if(%{{.*}}) host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
110
+ // CHECK: acc.update if(%{{.*}}) host(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) device(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
111
111
112
112
// -----
113
113
@@ -117,17 +117,17 @@ func.func @testdataregion(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
117
117
return
118
118
}
119
119
120
- // CHECK: acc.data copy(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) copyout(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
120
+ // CHECK: acc.data copy(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) copyout(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
121
121
122
122
// -----
123
123
124
- func.func @testdataregion (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >, %c: !llvm.ptr < f32 > ) -> () {
125
- acc.data copyin (%b : memref <10 xf32 >) deviceptr (%c: !llvm.ptr < f32 > ) attach (%a : !llvm.ptr < f32 > ) {
124
+ func.func @testdataregion (%a: !llvm.ptr , %b: memref <10 xf32 >, %c: !llvm.ptr ) -> () {
125
+ acc.data copyin (%b : memref <10 xf32 >) deviceptr (%c: !llvm.ptr ) attach (%a : !llvm.ptr ) {
126
126
}
127
127
return
128
128
}
129
129
130
- // CHECK: acc.data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) deviceptr(%{{.*}} : !llvm.ptr<f32> ) attach(%{{.*}} : !llvm.ptr<f32> )
130
+ // CHECK: acc.data copyin(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) deviceptr(%{{.*}} : !llvm.ptr) attach(%{{.*}} : !llvm.ptr)
131
131
132
132
// -----
133
133
@@ -138,17 +138,17 @@ func.func @testdataregion(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
138
138
return
139
139
}
140
140
141
- // CHECK: acc.data if(%{{.*}}) copyin_readonly(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) copyout_zero(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
141
+ // CHECK: acc.data if(%{{.*}}) copyin_readonly(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) copyout_zero(%{{.*}} : !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
142
142
143
143
// -----
144
144
145
- func.func @testdataregion (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >, %c: !llvm.ptr < f32 > ) -> () {
146
- acc.data create (%b : memref <10 xf32 >) create_zero (%c: !llvm.ptr < f32 > ) no_create (%a : !llvm.ptr < f32 > ) {
145
+ func.func @testdataregion (%a: !llvm.ptr , %b: memref <10 xf32 >, %c: !llvm.ptr ) -> () {
146
+ acc.data create (%b : memref <10 xf32 >) create_zero (%c: !llvm.ptr ) no_create (%a : !llvm.ptr ) {
147
147
}
148
148
return
149
149
}
150
150
151
- // CHECK: acc.data create(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create_zero(%{{.*}} : !llvm.ptr<f32> ) no_create(%{{.*}} : !llvm.ptr<f32> )
151
+ // CHECK: acc.data create(%{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create_zero(%{{.*}} : !llvm.ptr) no_create(%{{.*}} : !llvm.ptr)
152
152
153
153
// -----
154
154
@@ -158,7 +158,7 @@ func.func @testdataregion(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
158
158
return
159
159
}
160
160
161
- // CHECK: acc.data present(%{{.*}}, %{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>, !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
161
+ // CHECK: acc.data present(%{{.*}}, %{{.*}} : !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>, !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
162
162
163
163
// -----
164
164
@@ -168,17 +168,17 @@ func.func @testparallelop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
168
168
return
169
169
}
170
170
171
- // CHECK: acc.parallel copy(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) copyout(%{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
171
+ // CHECK: acc.parallel copy(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) copyout(%{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
172
172
173
173
// -----
174
174
175
- func.func @testparallelop (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >, %c: !llvm.ptr < f32 > ) -> () {
176
- acc.parallel copyin (%b : memref <10 xf32 >) deviceptr (%c: !llvm.ptr < f32 > ) attach (%a : !llvm.ptr < f32 > ) {
175
+ func.func @testparallelop (%a: !llvm.ptr , %b: memref <10 xf32 >, %c: !llvm.ptr ) -> () {
176
+ acc.parallel copyin (%b : memref <10 xf32 >) deviceptr (%c: !llvm.ptr ) attach (%a : !llvm.ptr ) {
177
177
}
178
178
return
179
179
}
180
180
181
- // CHECK: acc.parallel copyin(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) deviceptr(%{{.*}}: !llvm.ptr<f32> ) attach(%{{.*}}: !llvm.ptr<f32> )
181
+ // CHECK: acc.parallel copyin(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) deviceptr(%{{.*}}: !llvm.ptr) attach(%{{.*}}: !llvm.ptr)
182
182
183
183
// -----
184
184
@@ -189,17 +189,17 @@ func.func @testparallelop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
189
189
return
190
190
}
191
191
192
- // CHECK: acc.parallel if(%{{.*}}) copyin_readonly(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) copyout_zero(%{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
192
+ // CHECK: acc.parallel if(%{{.*}}) copyin_readonly(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) copyout_zero(%{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
193
193
194
194
// -----
195
195
196
- func.func @testparallelop (%a: !llvm.ptr < f32 > , %b: memref <10 xf32 >, %c: !llvm.ptr < f32 > ) -> () {
197
- acc.parallel create (%b : memref <10 xf32 >) create_zero (%c: !llvm.ptr < f32 > ) no_create (%a : !llvm.ptr < f32 > ) {
196
+ func.func @testparallelop (%a: !llvm.ptr , %b: memref <10 xf32 >, %c: !llvm.ptr ) -> () {
197
+ acc.parallel create (%b : memref <10 xf32 >) create_zero (%c: !llvm.ptr ) no_create (%a : !llvm.ptr ) {
198
198
}
199
199
return
200
200
}
201
201
202
- // CHECK: acc.parallel create(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>) create_zero(%{{.*}}: !llvm.ptr<f32> ) no_create(%{{.*}}: !llvm.ptr<f32> )
202
+ // CHECK: acc.parallel create(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>) create_zero(%{{.*}}: !llvm.ptr) no_create(%{{.*}}: !llvm.ptr)
203
203
204
204
// -----
205
205
@@ -209,7 +209,7 @@ func.func @testparallelop(%a: memref<10xf32>, %b: memref<10xf32>) -> () {
209
209
return
210
210
}
211
211
212
- // CHECK: acc.parallel present(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>, %{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
212
+ // CHECK: acc.parallel present(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>, %{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
213
213
214
214
// -----
215
215
@@ -219,5 +219,5 @@ func.func @testparallelop(%i: i64, %a: memref<10xf32>, %b: memref<10xf32>) -> ()
219
219
return
220
220
}
221
221
222
- // CHECK: acc.parallel num_gangs(%{{.*}}: i64) present(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>, %{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr<f32> , ptr<f32> , i64, array<1 x i64>, array<1 x i64>)>, ptr<f32> , i64)>)
222
+ // CHECK: acc.parallel num_gangs(%{{.*}}: i64) present(%{{.*}}: !llvm.struct<"openacc_data", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>, %{{.*}}: !llvm.struct<"openacc_data.1", (struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>, ptr, i64)>)
223
223
// CHECK-NEXT: } attributes {async}
0 commit comments