[mlir][transform] Add multi-buffering to the transform dialect
authorKirsten Lee <kile@microsoft>
Wed, 28 Sep 2022 19:18:24 +0000 (12:18 -0700)
committerStella Stamenova <stilis@microsoft.com>
Wed, 28 Sep 2022 21:30:02 +0000 (14:30 -0700)
commit3f050f6ac4626c9bf99bfdf5e4d7162ba7ad5cdc
treef0145e67dbcfbc1c04cf7a9b194002c54fd1cfd1
parent1e818cd8e262b402bd6d3cb380f83ca06966bb4b
[mlir][transform] Add multi-buffering to the transform dialect

Add the plumbing necessary to call the memref dialect's multiBuffer
function. This will allow separation between choosing which buffers
to multi-buffer and the actual transform.

Alter the multibuffer function to return the newly created
allocation if multi-buffering succeeds. This is necessary to
communicate with the transform dialect hooks what allocation
multi-buffering created.

Reviewed By: ftynse, nicolasvasilache

Differential Revision: https://reviews.llvm.org/D133985
mlir/include/mlir/Dialect/MemRef/CMakeLists.txt
mlir/include/mlir/Dialect/MemRef/TransformOps/CMakeLists.txt [new file with mode: 0644]
mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h [new file with mode: 0644]
mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td [new file with mode: 0644]
mlir/include/mlir/Dialect/MemRef/Transforms/Passes.h
mlir/include/mlir/InitAllDialects.h
mlir/lib/Dialect/MemRef/CMakeLists.txt
mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt [new file with mode: 0644]
mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp [new file with mode: 0644]
mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
mlir/test/Dialect/MemRef/transform-ops.mlir [new file with mode: 0644]