llvm-project/mlir/test
Nicolas Vasilache 57fe7fd37d [mlir][Linalg] Add support for scf::ForOp in comprehensive bufferization (7/n)
scf::ForOp bufferization analysis proceeds just like for any other op (including FuncOp) at its boundaries; i.e. if:

1. The tensor operand is inplaceable.
2. The matching result has no subsequent read (i.e. all reads dominate the scf::ForOp).
3. In  and does not create a RAW interference.

then it can bufferize inplace.

Still there are a few differences:

1. bbArgs for an scf::ForOp are always considered inplaceable when seen from ops inside the body. This is because a) either the matching tensor operand is not inplaceable and an alloc will be inserted (which makes bbArg itself inplaceable); or b) the tensor operand and bbArg are both already inplaceable.
2. Bufferization within the scf::ForOp body has implications to the outside world : the scf.yield terminator may well ping-pong values of the same type. This muddies the water for alias analysis and is not supported atm. Such cases result in a pass failure.

Differential revision: https://reviews.llvm.org/D104490
2021-06-24 15:03:28 +00:00
..
Analysis [mlir] Add support for querying the ModRef behavior from the AliasAnalysis class 2021-05-27 13:57:29 -07:00
CAPI [MLIR] Execution engine python binding support for shared libraries 2021-06-12 05:46:38 +05:30
Conversion [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
Dialect [mlir][Linalg] Add support for scf::ForOp in comprehensive bufferization (7/n) 2021-06-24 15:03:28 +00:00
Examples [MLIR] Fix Standalone dialect test to work in out-of-tree builds 2021-06-02 17:24:46 +00:00
IR [mlir] Add a ThreadPool to MLIRContext and refactor MLIR threading usage 2021-06-23 01:29:24 +00:00
Integration [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
Interfaces [mlir] Move `memref.dim` canonicalization using `InferShapedTypeOpInterface` to a separate pass. 2021-06-16 22:13:11 -07:00
Pass [mlir] Add a ThreadPool to MLIRContext and refactor MLIR threading usage 2021-06-23 01:29:24 +00:00
Rewrite [mlir][PDL] Add support for variadic operands and results in the PDL byte code 2021-03-16 13:20:19 -07:00
SDBM Remove global dialect registration 2020-10-24 00:35:55 +00:00
Target 2d Arm Neon sdot op, and lowering to the intrinsic. 2021-06-10 14:36:39 -07:00
Transforms [MLIR] Generalize detecting mods during slice computing 2021-06-23 12:29:34 +05:30
Unit [lit] Sort test start times based on prior test timing data 2021-03-16 05:23:04 -04:00
lib [mlir][linalg] Adapt the FillOp builder signature. 2021-06-23 08:06:43 +00:00
mlir-cpu-runner [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
mlir-linalg-ods-gen [mlir][linalg][python] Add attribute support to the YAML codegen. 2021-06-24 12:33:48 +00:00
mlir-lsp-server [mlir-lsp-server] Add support for textDocument/documentSymbols 2021-06-10 10:58:39 -07:00
mlir-opt [mlir] Add EmitC dialect 2021-06-19 09:51:17 +02:00
mlir-reduce [mlir-reduce] Reducer refactor. 2021-06-02 07:45:00 +08:00
mlir-spirv-cpu-runner [mlir] fix SPIR-V CPU and Vulkan runners after e2310704d8 2021-03-15 18:36:58 +01:00
mlir-tblgen [mlir] Fix build on gcc-5 after D104167 2021-06-22 21:16:02 +00:00
mlir-translate [mlir] Print the correct tool name in mlirTranslateMain 2021-01-05 19:17:01 -08:00
mlir-vulkan-runner [mlir] fix SPIR-V CPU and Vulkan runners after e2310704d8 2021-03-15 18:36:58 +01:00
python [mlir][linalg][python] Add shape-only tensor support to OpDSL. 2021-06-24 14:11:15 +00:00
APITest.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
CMakeLists.txt [mlir][sparse] Add Matricized Tensor Times Khatri-Rao Product (MTTKRP) integration test 2021-06-17 16:53:12 +00:00
lit.cfg.py [MLIR] Drop stale reference to mlir-edsc-builder-api-test 2021-05-22 16:11:29 +05:30
lit.site.cfg.py.in [MLIR] Fix Standalone dialect test to work in out-of-tree builds 2021-06-02 17:24:46 +00:00