llvm-project/mlir/lib/Interfaces
Markus Böck 61394636f0 [mlir] Ignore effects on allocated results when checking whether the op is trivially dead.
In the current state, this is only special cased for Allocation effects, but any effects on results allocated by the operation may be ignored when checking whether the op may be removed, as none of them are possible to be observed if the result is unused.

A use case for this is for IRs for languages which always initialize on allocation. To correctly model such operations, a Write as well as an Allocation effect should be placed on the result. This would prevent the Op from being deleted if unused however. This patch fixes that issue.

Differential Revision: https://reviews.llvm.org/D129854
2022-07-19 10:58:25 +02:00
..
CMakeLists.txt [mlir][SCF] Add a ParallelCombiningOpInterface to decouple scf::PerformConcurrently from its contained operations 2022-07-01 00:16:02 -07:00
CallInterfaces.cpp
CastInterfaces.cpp [mlir] Add an interface for Cast-Like operations 2021-01-20 16:28:17 -08:00
ControlFlowInterfaces.cpp [mlir] Use value instead of getValue (NFC) 2022-07-14 00:19:59 -07:00
CopyOpInterface.cpp
DataLayoutInterfaces.cpp [mlir] Data layout for integer and float types 2022-03-02 14:56:49 +01:00
DerivedAttributeOpInterface.cpp
InferIntRangeInterface.cpp [mlir][Arith] Implement InferIntRangeInterface for arithmetic ops 2022-06-14 18:30:34 +00:00
InferTypeOpInterface.cpp [mlir] Add refineReturnTypes to InferTypeOpInterface 2022-07-18 22:18:52 -07:00
LoopLikeInterface.cpp [mlir] Refactor LICM into a utility 2022-04-16 00:37:07 +00:00
ParallelCombiningOpInterface.cpp [mlir][SCF] Add a ParallelCombiningOpInterface to decouple scf::PerformConcurrently from its contained operations 2022-07-01 00:16:02 -07:00
SideEffectInterfaces.cpp [mlir] Ignore effects on allocated results when checking whether the op is trivially dead. 2022-07-19 10:58:25 +02:00
TilingInterface.cpp [mlir:TiingInterface] Remove unnecessary include of Tensor.h 2022-01-20 13:10:44 -08:00
VectorInterfaces.cpp [mlir][Vector] Thread 0-d vectors through vector.transfer ops 2021-12-01 16:49:43 +00:00
ViewLikeInterface.cpp [mlir][interfaces][NFC] Remove ViewLikeInterface::expandToRank 2022-07-05 16:59:18 +02:00