MLIR
20.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 710 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 IntegerRelation
s to the disjuncts
vector.
Definition at line 790 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 810 of file PresburgerRelation.cpp.
References mlir::presburger::PresburgerRelation::unionInPlace().