llvm-project/mlir/lib/Analysis
Marcel Koester 0425332015 [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>.
This CL adds a new RegionBranchTerminatorOpInterface to query information about operands that can be
passed to successor regions. Similar to the BranchOpInterface, it allows to freely define the
involved operands. However, in contrast to the BranchOpInterface, it expects an additional region
number to distinguish between various use cases which might require different operands passed to
different regions.

Moreover, we added new utility functions (namely getMutableRegionBranchSuccessorOperands and
getRegionBranchSuccessorOperands) to query (mutable) operand ranges for operations equiped with the
ReturnLike trait and/or implementing the newly added interface.  This simplifies reasoning about
terminators in the scope of the nested regions.

We also adjusted the SCF.ConditionOp to benefit from the newly added capabilities.

Differential Revision: https://reviews.llvm.org/D105018
2021-07-26 06:39:31 +02:00
..
AliasAnalysis [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. 2021-07-26 06:39:31 +02:00
Presburger [MLIR] FlatAffineConstraints: Use Matrix objects to store the constraints 2021-07-01 22:05:31 +05:30
AffineAnalysis.cpp [NFC] Test commit. Fix typos. 2021-06-02 14:19:27 -07:00
AffineStructures.cpp [MLIR] AffineStructures: resolve clang-tidy warnings [NFC] 2021-07-19 18:46:01 +05:30
AliasAnalysis.cpp [mlir] Add support for querying the ModRef behavior from the AliasAnalysis class 2021-05-27 13:57:29 -07:00
BufferViewFlowAnalysis.cpp [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. 2021-07-26 06:39:31 +02:00
CMakeLists.txt [mlir] fix shared-libs build 2021-06-08 11:30:31 +02:00
CallGraph.cpp [mlir] Update SCCP and the Inliner to use SymbolTableCollection for symbol lookups 2020-10-16 12:08:48 -07:00
DataFlowAnalysis.cpp [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. 2021-07-26 06:39:31 +02:00
DataLayoutAnalysis.cpp [mlir] support memref of memref in standard-to-llvm conversion 2021-06-08 11:11:31 +02:00
LinearTransform.cpp [MLIR] Support symbols in emptiness checks for FlatAffineConstraints 2021-04-08 21:38:47 +05:30
Liveness.cpp [MLIR][NFC] Minor cleanup in liveness. 2021-07-23 13:30:02 -07:00
LoopAnalysis.cpp [mlir][Affine] Fix vectorizability check for multiple load/stores 2020-12-09 12:19:34 -08:00
NestedMatcher.cpp [mlir] fix a memory leak in NestedPattern 2021-03-12 18:52:14 +01:00
NumberOfExecutions.cpp [mlir] Extend Operation visitor with pre-order traversal 2021-03-06 00:02:20 +02:00
PresburgerSet.cpp [MLIR] PresburgerSet subtraction: add documentation and assertion saying we don't support divisions yet 2021-04-14 05:56:35 +05:30
SliceAnalysis.cpp [mlir][NFC] Add a using directive for llvm::SetVector 2021-04-15 16:09:34 -07:00
Utils.cpp [mlir] Enable cleanup of single iteration reduction loops being sibling-fused maximally 2021-07-16 00:07:20 +03:00