MLIR  19.0.0git
Public Member Functions | List of all members
mlir::presburger::SetCoalescer Class Reference

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SetCoalescer()

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 785 of file PresburgerRelation.cpp.

References mlir::presburger::PresburgerRelation::disjuncts, mlir::presburger::PresburgerRelation::getNumDisjuncts(), and mlir::presburger::SimplexBase::isEmpty().

Member Function Documentation

◆ coalesce()

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().


The documentation for this class was generated from the following file: