diff options
author | Jaden Angella <ajaden@google.com> | 2025-08-14 05:25:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-14 05:25:55 -0700 |
commit | bfda0e777de985e9412317be190bdbbe504dd9dd (patch) | |
tree | 4cb1a0b76f52b112407a6bf04fc67ea47a807bb4 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6d08a39eebcc173c43712817435a2ac6ac027731 (diff) | |
download | llvm-bfda0e777de985e9412317be190bdbbe504dd9dd.zip llvm-bfda0e777de985e9412317be190bdbbe504dd9dd.tar.gz llvm-bfda0e777de985e9412317be190bdbbe504dd9dd.tar.bz2 |
[mlir][EmitC] Expand the MemRefToEmitC pass - Lowering `CopyOp` (#151206)
This patch lowers `memref.copy` to `emitc.call_opaque "memcpy"`.
From:
```
func.func @copying(%arg0 : memref<9x4x5x7xf32>, %arg1 : memref<9x4x5x7xf32>) {
memref.copy %arg0, %arg1 : memref<9x4x5x7xf32> to memref<9x4x5x7xf32>
return
}
```
To:
```cpp
#include <cstring>
void copying(float v1[9][4][5][7], float v2[9][4][5][7]) {
size_t v3 = 0;
float* v4 = &v2[v3][v3][v3][v3];
float* v5 = &v1[v3][v3][v3][v3];
size_t v6 = sizeof(float);
size_t v7 = 1260;
size_t v8 = v6 * v7;
memcpy(v5, v4, v8);
return;
}
```
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions