[Mlir-commits] [mlir] [mlir][EmitC] Expand the MemRefToEmitC pass - Lowering `CopyOp` (PR #151206)
Paul Kirth
llvmlistbot at llvm.org
Tue Jul 29 14:47:03 PDT 2025
================
@@ -0,0 +1,24 @@
+// RUN: mlir-opt -convert-memref-to-emitc %s | FileCheck %s
+
+func.func @copying(%arg0 : memref<2x4xf32>) {
+ memref.copy %arg0, %arg0 : memref<2x4xf32> to memref<2x4xf32>
+ return
+}
+
+// CHECK: module {
+// CHECK-NEXT: emitc.include <"string.h">
+// CHECK-LABEL: copying
+// CHECK-NEXT: %0 = builtin.unrealized_conversion_cast %arg0 : memref<2x4xf32> to !emitc.array<2x4xf32>
+// CHECK-NEXT: %1 = "emitc.constant"() <{value = 0 : index}> : () -> index
+// CHECK-NEXT: %2 = emitc.subscript %0[%1, %1] : (!emitc.array<2x4xf32>, index, index) -> !emitc.lvalue<f32>
+// CHECK-NEXT: %3 = emitc.apply "&"(%2) : (!emitc.lvalue<f32>) -> !emitc.ptr<f32>
+// CHECK-NEXT: %4 = emitc.subscript %0[%1, %1] : (!emitc.array<2x4xf32>, index, index) -> !emitc.lvalue<f32>
+// CHECK-NEXT: %5 = emitc.apply "&"(%4) : (!emitc.lvalue<f32>) -> !emitc.ptr<f32>
+// CHECK-NEXT: %6 = emitc.call_opaque "sizeof"() {args = [f32]} : () -> !emitc.size_t
+// CHECK-NEXT: %7 = "emitc.constant"() <{value = 8 : index}> : () -> index
----------------
ilovepi wrote:
Double checking my understanding: `8` because the dimensions for memref are `2x4`?
https://github.com/llvm/llvm-project/pull/151206
More information about the Mlir-commits
mailing list