diff --git a/src/Dialect/Krnl/KrnlOps.td b/src/Dialect/Krnl/KrnlOps.td index 1199ec1..924321f 100644 --- a/src/Dialect/Krnl/KrnlOps.td +++ b/src/Dialect/Krnl/KrnlOps.td @@ -142,7 +142,7 @@ def KrnlEntryPointOp : Op { let printer = ?; } -def KrnlMemcpyOp : Op { +def KrnlMemcpyOp : Op { let summary = "Krnl memcpy operation"; let description = [{ In the KRNL dialect the reshape op diff --git a/test/mlir/krnl/krnl_normalization.mlir b/test/mlir/krnl/krnl_normalization.mlir new file mode 100644 index 0000000..adde19b --- /dev/null +++ b/test/mlir/krnl/krnl_normalization.mlir @@ -0,0 +1,16 @@ +// RUN: onnx-mlir-opt --normalize-memrefs %s -split-input-file | FileCheck %s + +#map_tile = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2 floordiv 32, d3 floordiv 32, d2 mod 32, d3 mod 32)> + +// CHECK-LABEL: test_krnl_memcpy_norm +// CHECK-SAME: -> memref<1x16x1x1x32x32xf32> { +func @test_krnl_memcpy_norm(%arg0: memref<1x16384xf32>) -> memref<1x16x4x4xf32, #map_tile> { + %0 = alloc() : memref<1x16x4x4xf32, #map_tile> + // CHECK: [[ALLOC:%.+]] = alloc() : memref<1x16x1x1x32x32xf32> + %c16384 = constant 16384 : i64 + "krnl.memcpy"(%0, %arg0, %c16384) : (memref<1x16x4x4xf32, #map_tile>, memref<1x16384xf32>, i64) -> () + // CHECK: "krnl.memcpy" + // CHECK-SAME: : (memref<1x16x1x1x32x32xf32>, memref<1x16384xf32> + return %0 : memref<1x16x4x4xf32, #map_tile> + // CHECK: return [[ALLOC]] : memref<1x16x1x1x32x32xf32> +}