File tree Expand file tree Collapse file tree 1 file changed +28
-1
lines changed
mlir/test/Dialect/OpenACC Expand file tree Collapse file tree 1 file changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -245,4 +245,31 @@ func.func private @foo(memref<10xf32>)
245245// CHECK: acc.host_data dataOperands(%[[USE_DEVICE]] : memref<10xf32>) {
246246// DEVICE: func.call @foo(%[[USE_DEVICE]]) : (memref<10xf32>) -> ()
247247// CHECK: acc.terminator
248- // CHECK: }
248+ // CHECK: }
249+
250+ // -----
251+
252+ func.func @test (%a: memref <10 xf32 >) {
253+ %declare = acc.create varPtr (%a : memref <10 xf32 >) varType (tensor <10 xf32 >) -> memref <10 xf32 > {name = " arr" }
254+ %token = acc.declare_enter dataOperands (%declare : memref <10 xf32 >)
255+ acc.kernels dataOperands (%declare : memref <10 xf32 >) {
256+ %c0 = arith.constant 0 : index
257+ %c1 = arith.constant 1.000000e+00 : f32
258+ memref.store %c1 , %a [%c0 ] : memref <10 xf32 >
259+ acc.terminator
260+ }
261+ acc.declare_exit token (%token ) dataOperands (%declare : memref <10 xf32 >)
262+ return
263+ }
264+
265+ // CHECK-LABEL: func.func @test
266+ // CHECK-SAME: (%[[A:.*]]: memref<10xf32>)
267+ // CHECK: %[[DECLARE:.*]] = acc.create varPtr(%[[A]] : memref<10xf32>) varType(tensor<10xf32>) -> memref<10xf32> {name = "arr"}
268+ // CHECK: %[[TOKEN:.*]] = acc.declare_enter dataOperands(%[[DECLARE]] : memref<10xf32>)
269+ // CHECK: acc.kernels dataOperands(%[[DECLARE]] : memref<10xf32>) {
270+ // DEVICE: memref.store %{{.*}}, %[[DECLARE]][%{{.*}}] : memref<10xf32>
271+ // HOST: memref.store %{{.*}}, %[[A]][%{{.*}}] : memref<10xf32>
272+ // CHECK: acc.terminator
273+ // CHECK: }
274+ // CHECK: acc.declare_exit token(%[[TOKEN]]) dataOperands(%[[DECLARE]] : memref<10xf32>)
275+ // CHECK: return
You can’t perform that action at this time.
0 commit comments