llvm-project/mlir
Matthias Springer 7161aa06ef [mlir][linalg][bufferize] Reimplementation of scf.for bufferization
Instead of modifying the existing scf.for op, create a new op with memref OpOperands/OpResults and delete the old op.

New allocations / other memrefs can now be yielded from the loop. This functionality is deactivated by default and guarded against by AssertDestinationPassingStyle.

This change also introduces `replaceOp`, which will be utilized by all other `bufferize` implementations in future commits. Bufferization will then no longer rely on old (pre-bufferize) ops to DCE away. Instead old ops are deleted on the spot. This improves debuggability because there won't be any duplicate ops anymore (bufferized + not-yet-bufferized) when dumping IR during bufferization. It is also less fragile because unbufferized IR can no longer silently "hang around" due to an implementation bug.

Differential Revision: https://reviews.llvm.org/D114926
2021-12-15 18:29:22 +09:00
..
cmake/modules [mlir][ods] AttrOrTypeGen uses Class 2021-12-01 16:53:23 +00:00
docs [mlir][linalg] Remove RangeOp and RangeType. 2021-12-15 07:19:10 +00:00
examples Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
include [mlir][linalg][bufferize] Reimplementation of scf.for bufferization 2021-12-15 18:29:22 +09:00
lib [mlir][linalg][bufferize] Reimplementation of scf.for bufferization 2021-12-15 18:29:22 +09:00
python [mlir][python] Add fused location 2021-12-11 10:16:13 -08:00
test [mlir][linalg][bufferize] Reimplementation of scf.for bufferization 2021-12-15 18:29:22 +09:00
tools [mlir][ods] Fix OpDefinitionsGen infer return types builder with regions 2021-12-13 15:11:35 +00:00
unittests [mlir][ods] Fix OpDefinitionsGen infer return types builder with regions 2021-12-13 15:11:35 +00:00
utils [mlir][NFC] Replace references to Identifier with StringAttr 2021-11-16 17:36:26 +00:00
.clang-format
.clang-tidy NFC: .clang-tidy: Inherit configs from parents to improve maintainability 2021-06-08 08:25:59 -07:00
CMakeLists.txt Build MLIR with -Werror=mismatched-tags (NFC) 2021-12-08 05:59:06 +00:00
LICENSE.TXT
README.md

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.