This change adds the BufferizableOpInterface implementation for memref.tensor_store.
Depends On: D144022
Paths
| Differential D144080
[mlir][memref] Bufferize memref.tensor_store op ClosedPublic Authored by springerm on Feb 15 2023, 12:55 AM.
Details Summary This change adds the BufferizableOpInterface implementation for memref.tensor_store. Depends On: D144022
Diff Detail
Event Timelinespringerm added a parent revision: D144022: [mlir][linalg] Add bufferization patterns for non-DPS ops.Feb 15 2023, 12:55 AM nicolasvasilache added inline comments.
This revision is now accepted and ready to land.Feb 15 2023, 2:04 AM Closed by commit rGc645eb0d03bd: [mlir][memref] Bufferize memref.tensor_store op (authored by springerm). · Explain WhyFeb 15 2023, 6:28 AM This revision was automatically updated to reflect the committed changes. springerm marked an inline comment as done.
Revision Contents
Diff 497662 mlir/include/mlir/Dialect/MemRef/Transforms/BufferizableOpInterfaceImpl.h
mlir/include/mlir/InitAllDialects.h
mlir/lib/Dialect/MemRef/Transforms/BufferizableOpInterfaceImpl.cpp
mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
mlir/test/Dialect/MemRef/bufferize.mlir
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
|
Can we use a linalg.copy here?
Experience shows that going to memref.copy prematurely can yield very bad perf.
There are simple woarkarounds like rewriting a memref.copy into a linalg.copy but it is better to avoid lowering prematurely.