MLIR
18.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 705 of file PresburgerRelation.cpp.
SetCoalescer::SetCoalescer  (  const PresburgerRelation &  s  ) 
Construct a SetCoalescer from a PresburgerSet.
Constructs a SetCoalescer
from a PresburgerRelation
.
Only adds nonempty IntegerRelation
s to the disjuncts
vector.
Definition at line 785 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 805 of file PresburgerRelation.cpp.
References mlir::succeeded(), and mlir::presburger::PresburgerRelation::unionInPlace().