llvm-project/mlir/test
Valentin Clement 02da964350
[mlir][CSE] Remove duplicated operations with MemRead side-effect
This patch enhances the CSE pass to deal with simple cases of duplicated
operations with MemoryEffects.

It allows the CSE pass to remove safely duplicate operations with the
MemoryEffects::Read that have no other side-effecting operations in
between. Other MemoryEffects::Read operation are allowed.

The use case is pretty simple so far so we can build on top of it to add
more features.

This patch is also meant to avoid a dedicated CSE pass in FIR and was
brought together afetr discussion on https://reviews.llvm.org/D112711.
It does not currently cover the full range of use cases described in
https://reviews.llvm.org/D112711 but the idea is to gradually enhance
the MLIR CSE pass to handle common use cases that can be used by
other dialects.

This patch takes advantage of the new CSE capabilities in Fir.

Reviewed By: mehdi_amini, rriddle, schweitz

Differential Revision: https://reviews.llvm.org/D122801
2022-04-07 10:08:55 +02:00
..
Analysis [mlir] Move the Builtin FuncOp to the Func dialect 2022-03-16 17:07:03 -07:00
CAPI [MLIR] Add block detach func to CAPI and use it in Python bindings 2022-04-06 13:11:56 -07:00
Conversion [MLIR] Check for static shape before bare pointer conversion 2022-04-05 17:56:41 +02:00
Dialect [mlir][sparse] replace stack-based access pattern with dyn-alloc 2022-04-06 17:10:43 -07:00
Examples [mlir][CSE] Remove duplicated operations with MemRead side-effect 2022-04-07 10:08:55 +02:00
IR [mlir] Fix leak in case of failed parse 2022-03-28 20:04:31 -07:00
Integration [mlir][Vector] Add integration tests for ArmSVE 2022-03-25 13:21:27 +00:00
Interfaces [mlir] Data layout for integer and float types 2022-03-02 14:56:49 +01:00
Pass [mlir] Allow for using OpPassManager in pass options 2022-04-02 00:45:11 -07:00
Rewrite [mlir:PDL] Expand how native constraint/rewrite functions can be defined 2022-04-06 17:41:59 -07:00
Target [mlir][LLVMIR] Add vector predication binary intrinsic ops. 2022-04-06 10:48:24 +08:00
Transforms [mlir][CSE] Remove duplicated operations with MemRead side-effect 2022-04-07 10:08:55 +02:00
Unit Use lit_config.substitute instead of foo % lit_config.params everywhere 2022-03-16 09:57:41 +01:00
lib [mlir][CSE] Remove duplicated operations with MemRead side-effect 2022-04-07 10:08:55 +02:00
mlir-cpu-runner [mlir] Add a function to print C-strings to RunnerUtils.cpp. 2022-03-21 13:09:09 +01:00
mlir-linalg-ods-gen [mlir][OpDSL] Add support for adding canonicalization patterns. 2022-03-08 15:56:59 +00:00
mlir-lsp-server [mlir:FunctionOpInterface] Rename the "type" attribute to "function_type" 2022-03-16 17:07:04 -07:00
mlir-opt [mlir] Move the Builtin FuncOp to the Func dialect 2022-03-16 17:07:03 -07:00
mlir-pdll [mlir:PDL] Expand how native constraint/rewrite functions can be defined 2022-04-06 17:41:59 -07:00
mlir-pdll-lsp-server [mlir][PDLL] Add signature help to the PDLL language server 2022-03-19 13:28:24 -07:00
mlir-reduce [mlir] Split out a new ControlFlow dialect from Standard 2022-02-06 14:51:16 -08:00
mlir-spirv-cpu-runner Fix clang-tidy issues in mlir/ (NFC) 2021-12-20 20:25:01 +00:00
mlir-tblgen [mlir][ods] Add description to Attr and ensure doc generation 2022-04-05 10:40:15 +02:00
mlir-translate [mlir-translate] Teach these tools about --allow-unregistered-dialect 2022-02-03 09:00:38 -08:00
mlir-vulkan-runner [mlir] Replace StrEnumAttr -> EnumAttr in core dialects 2022-01-18 17:15:00 +00:00
python [MLIR] Add block detach func to CAPI and use it in Python bindings 2022-04-06 13:11:56 -07:00
APITest.h Adjust "end namespace" comment in MLIR to match new agree'd coding style 2021-12-08 06:05:26 +00:00
CMakeLists.txt [mlir][Vector] Add integration tests for ArmSVE 2022-03-25 13:21:27 +00:00
lit.cfg.py Mark some MLIR tests as requiring the native target to be configured 2022-01-14 07:23:14 +00:00
lit.site.cfg.py.in [mlir][Vector] Add integration tests for ArmSVE 2022-03-25 13:21:27 +00:00