diff --git a/src/Dialect/Krnl/KrnlOps.td b/src/Dialect/Krnl/KrnlOps.td index 924321f..e0ff889 100644 --- a/src/Dialect/Krnl/KrnlOps.td +++ b/src/Dialect/Krnl/KrnlOps.td @@ -218,7 +218,7 @@ def KrnlPackedConstantOp : Op { let printer = ?; } -def KrnlGetRefOp : Op { +def KrnlGetRefOp : Op { let summary = "Krnl a MemRef from within another MemRef starting at a specific offset."; let description = [{ Retreieves a MemRef from within another MemRef: diff --git a/test/mlir/krnl/krnl_normalization.mlir b/test/mlir/krnl/krnl_normalization.mlir index adde19b..7ffed6d 100644 --- a/test/mlir/krnl/krnl_normalization.mlir +++ b/test/mlir/krnl/krnl_normalization.mlir @@ -14,3 +14,17 @@ func @test_krnl_memcpy_norm(%arg0: memref<1x16384xf32>) -> memref<1x16x4x4xf32, return %0 : memref<1x16x4x4xf32, #map_tile> // CHECK: return [[ALLOC]] : memref<1x16x1x1x32x32xf32> } + +// CHECK-LABEL: test_getref_norm +func @test_getref_norm() -> () { + %c0_i64 = constant 0 : i64 + %0 = alloc() : memref<1x81920xf32> + %1 = alloc() : memref<1x16x4x4xf32, #map_tile> + // CHECK: [[ALLOC:%.+]] = alloc() : memref<1x16x1x1x32x32xf32> + %2 = "krnl.getref"(%0, %c0_i64) : (memref<1x81920xf32>, i64) -> memref<1x16x4x4xf32> + // Do something using %1 and %2 + dealloc %1: memref<1x16x4x4xf32, #map_tile> + // CHECK: dealloc [[ALLOC:%.+]] : memref<1x16x1x1x32x32xf32> + dealloc %0: memref<1x81920xf32> + return +} \ No newline at end of file