[mlir][linalg] BufferizeToAllocationOp: Add option to materialize buffers for operands
authorMatthias Springer <me@m-sp.org>
Fri, 21 Jul 2023 13:29:16 +0000 (15:29 +0200)
committerMatthias Springer <me@m-sp.org>
Fri, 21 Jul 2023 13:29:59 +0000 (15:29 +0200)
commita5bba98a58b7406f81629d3942e03b1eff1e2b33
treee5affa2914f14441ed8d1fb034d482d963afef3c
parent20245ed4dea067d281e5d091badf7bcffbb1445b
[mlir][linalg] BufferizeToAllocationOp: Add option to materialize buffers for operands

Add an option that does not bufferize the targeted op itself, but just materializes a buffer for the destination operands. This is useful for partial bufferization of complex ops such as `scf.forall`, which need special handling (and an analysis if the region).

Differential Revision: https://reviews.llvm.org/D155946
mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir