FreeTensor
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
freetensor::CompUniqueBoundsPB Class Reference

#include <comp_unique_bounds_pb.h>

Inheritance diagram for freetensor::CompUniqueBoundsPB:
Inheritance graph
[legend]
Collaboration diagram for freetensor::CompUniqueBoundsPB:
Collaboration graph
[legend]

Classes

class  Bound
 

Public Member Functions

 CompUniqueBoundsPB (const CompTransientBoundsInterface &transients)
 
Ref< CompUniqueBounds::BoundgetBound (const Expr &op) override
 
bool alwaysLE (const Expr &lhs, const Expr &rhs) override
 
bool alwaysLT (const Expr &lhs, const Expr &rhs) override
 
std::pair< Expr, ExprunionBounds (const std::vector< Ref< CompUniqueBounds::Bound > > &bounds) override
 
- Public Member Functions inherited from freetensor::CompUniqueBounds
 CompUniqueBounds (const CompTransientBoundsInterface &transients)
 
virtual ~CompUniqueBounds ()
 
virtual Ref< BoundgetBound (const Expr &op)=0
 
int64_t getIntLower (const Expr &op)
 
int64_t getIntUpper (const Expr &op)
 
std::optional< int64_t > getInt (const Expr &op)
 
virtual bool alwaysLT (const Expr &lhs, const Expr &rhs)=0
 
virtual bool alwaysLE (const Expr &lhs, const Expr &rhs)=0
 
virtual std::pair< Expr, ExprunionBounds (const std::vector< Ref< Bound > > &bounds)=0
 

Protected Member Functions

Ref< CompUniqueBoundsPB::BoundunionBoundsAsBound (const std::vector< Ref< CompUniqueBounds::Bound > > &bounds)
 

Additional Inherited Members

- Public Types inherited from freetensor::CompUniqueBounds
enum class  BoundType { Combination , Presburger }
 
- Protected Attributes inherited from freetensor::CompUniqueBounds
const CompTransientBoundsInterfacetransients_
 

Detailed Description

CompUniqueBounds added with Presburger information

For each statements in the AST, a corresponding instance of this class should be created to deal with all (sub)expressions in the statement

Constructor & Destructor Documentation

◆ CompUniqueBoundsPB()

freetensor::CompUniqueBoundsPB::CompUniqueBoundsPB ( const CompTransientBoundsInterface transients)

Member Function Documentation

◆ alwaysLE()

bool freetensor::CompUniqueBoundsPB::alwaysLE ( const Expr lhs,
const Expr rhs 
)
overridevirtual

◆ alwaysLT()

bool freetensor::CompUniqueBoundsPB::alwaysLT ( const Expr lhs,
const Expr rhs 
)
overridevirtual

◆ getBound()

Ref< CompUniqueBounds::Bound > freetensor::CompUniqueBoundsPB::getBound ( const Expr op)
overridevirtual

◆ unionBounds()

std::pair< Expr, Expr > freetensor::CompUniqueBoundsPB::unionBounds ( const std::vector< Ref< CompUniqueBounds::Bound > > &  bounds)
overridevirtual

◆ unionBoundsAsBound()

Ref< CompUniqueBoundsPB::Bound > freetensor::CompUniqueBoundsPB::unionBoundsAsBound ( const std::vector< Ref< CompUniqueBounds::Bound > > &  bounds)
protected

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