|
MLIR
22.0.0git
|
The SetCoalescer class contains all functionality concerning the coalesce heuristic. More...
Public Member Functions | |
| PresburgerRelation | coalesce () |
| Simplifies the representation of a PresburgerSet. More... | |
| SetCoalescer (const PresburgerRelation &s) | |
| Construct a SetCoalescer from a PresburgerSet. More... | |
The SetCoalescer class contains all functionality concerning the coalesce heuristic.
It is built from a PresburgerRelation and has the coalesce() function as its main API. The coalesce heuristic simplifies the representation of a PresburgerRelation. In particular, it removes all disjuncts which are subsets of other disjuncts in the union and it combines sets that overlap and can be combined in a convex way.
Definition at line 709 of file PresburgerRelation.cpp.
| SetCoalescer::SetCoalescer | ( | const PresburgerRelation & | s | ) |
Construct a SetCoalescer from a PresburgerSet.
Constructs a SetCoalescer from a PresburgerRelation.
Only adds non-empty IntegerRelations to the disjuncts vector.
Definition at line 789 of file PresburgerRelation.cpp.
References mlir::presburger::PresburgerRelation::disjuncts, mlir::presburger::PresburgerRelation::getNumDisjuncts(), and mlir::presburger::SimplexBase::isEmpty().
| PresburgerRelation SetCoalescer::coalesce | ( | ) |
Simplifies the representation of a PresburgerSet.
Definition at line 809 of file PresburgerRelation.cpp.
References mlir::presburger::PresburgerRelation::unionInPlace().