llvm-project/mlir/lib/Analysis
Arjun P 33f574672f [MLIR] Redundancy detection for FlatAffineConstraints using Simplex
This patch adds the capability to perform constraint redundancy checks for `FlatAffineConstraints` using `Simplex`, via a new member function `FlatAffineConstraints::removeRedundantConstraints`. The pre-existing redundancy detection algorithm runs a full rational emptiness check for each inequality separately for checking redundancy. Leveraging the existing `Simplex` infrastructure, in this patch we have an algorithm for redundancy checks that can check each constraint by performing pivots on the tableau, which provides an alternative to running Fourier-Motzkin elimination for each constraint separately.

Differential Revision: https://reviews.llvm.org/D84935
2020-08-20 13:38:51 +05:30
..
Presburger [MLIR] Redundancy detection for FlatAffineConstraints using Simplex 2020-08-20 13:38:51 +05:30
AffineAnalysis.cpp [MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops 2020-08-09 03:16:03 +05:30
AffineStructures.cpp [MLIR] Redundancy detection for FlatAffineConstraints using Simplex 2020-08-20 13:38:51 +05:30
CMakeLists.txt [MLIR] Exact integer emptiness checks for FlatAffineConstraints 2020-07-02 19:53:27 +05:30
CallGraph.cpp [mlir] Add NamedAttrList 2020-05-07 12:33:36 -07:00
Liveness.cpp [mlir] Fixed warning related to unused variable in Liveness. 2020-04-27 14:02:33 +02:00
LoopAnalysis.cpp [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
NestedMatcher.cpp [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
SliceAnalysis.cpp [mlir] Support operations with multiple results in slicing 2020-07-13 13:24:27 -07:00
Utils.cpp [MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops 2020-08-09 03:16:03 +05:30