[MLIR] Introduce coalesce for PresburgerSet
authorMichel Weber <michel.weber@inf.ethz.ch>
Thu, 9 Dec 2021 10:16:31 +0000 (15:46 +0530)
committerArjun P <arjunpitchanathan@gmail.com>
Thu, 9 Dec 2021 10:16:31 +0000 (15:46 +0530)
commit45ea542dd82216364a144324c44ff82caf905a58
tree965435389e286a0b62b48c8d821a274936d32cac
parentd82c1f4e4b72e3f90476bda9341b2a5cbff389b9
[MLIR] Introduce coalesce for PresburgerSet

This patch provides functionality for simplifying `PresburgerSet`s by checking if any `FlatAffineConstraints` in the set is contained in another, and removing such redundant FACs.

This is part of a series of patches to provide functionality for [integer set coalescing](http://impact.gforge.inria.fr/impact2015/papers/impact2015-verdoolaege.pdf) in MLIR.

Reviewed By: arjunp

Differential Revision: https://reviews.llvm.org/D110617
mlir/include/mlir/Analysis/Presburger/Simplex.h
mlir/include/mlir/Analysis/PresburgerSet.h
mlir/lib/Analysis/Presburger/Simplex.cpp
mlir/lib/Analysis/PresburgerSet.cpp
mlir/unittests/Analysis/Presburger/CMakeLists.txt
mlir/unittests/Analysis/Presburger/SimplexTest.cpp
mlir/unittests/Analysis/PresburgerSetTest.cpp