LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::IntervalAnalysisLattice Class Reference

Maps mlir::Values to LatticeValues. More...

#include <IntervalAnalysis.h>

Inheritance diagram for llzk::IntervalAnalysisLattice:
[legend]
Collaboration diagram for llzk::IntervalAnalysisLattice:
[legend]

Public Types

using LatticeValue = IntervalAnalysisLatticeValue
using ValueMap = mlir::DenseMap<mlir::Value, LatticeValue>
using FieldMap = mlir::DenseMap<mlir::Value, mlir::DenseMap<mlir::StringAttr, LatticeValue>>
using ExpressionIntervals = mlir::DenseMap<llvm::SMTExprRef, Interval>
using ConstraintSet = llvm::SetVector<ExpressionValue>

Public Member Functions

mlir::ChangeResult join (const AbstractDenseLattice &other) override
mlir::ChangeResult meet (const AbstractDenseLattice &) override
void print (mlir::raw_ostream &os) const override
mlir::FailureOr< LatticeValuegetValue (mlir::Value v) const
mlir::FailureOr< LatticeValuegetValue (mlir::Value v, mlir::StringAttr f) const
mlir::ChangeResult setValue (mlir::Value v, const LatticeValue &val)
mlir::ChangeResult setValue (mlir::Value v, ExpressionValue e)
mlir::ChangeResult setValue (mlir::Value v, mlir::StringAttr f, ExpressionValue e)
mlir::ChangeResult addSolverConstraint (ExpressionValue e)
const ConstraintSetgetConstraints () const
mlir::FailureOr< IntervalfindInterval (llvm::SMTExprRef expr) const
mlir::ChangeResult setInterval (llvm::SMTExprRef expr, const Interval &i)
size_t size () const
const ValueMapgetMap () const
ValueMap::iterator begin ()
ValueMap::iterator end ()
ValueMap::const_iterator begin () const
ValueMap::const_iterator end () const

Friends

mlir::raw_ostream & operator<< (mlir::raw_ostream &os, const IntervalAnalysisLattice &l)

Detailed Description

Maps mlir::Values to LatticeValues.

Definition at line 204 of file IntervalAnalysis.h.

Member Typedef Documentation

◆ ConstraintSet

Definition at line 215 of file IntervalAnalysis.h.

◆ ExpressionIntervals

using llzk::IntervalAnalysisLattice::ExpressionIntervals = mlir::DenseMap<llvm::SMTExprRef, Interval>

Definition at line 213 of file IntervalAnalysis.h.

◆ FieldMap

using llzk::IntervalAnalysisLattice::FieldMap = mlir::DenseMap<mlir::Value, mlir::DenseMap<mlir::StringAttr, LatticeValue>>

Definition at line 211 of file IntervalAnalysis.h.

◆ LatticeValue

◆ ValueMap

using llzk::IntervalAnalysisLattice::ValueMap = mlir::DenseMap<mlir::Value, LatticeValue>

Definition at line 208 of file IntervalAnalysis.h.

Member Function Documentation

◆ addSolverConstraint()

ChangeResult llzk::IntervalAnalysisLattice::addSolverConstraint ( ExpressionValue e)

Definition at line 380 of file IntervalAnalysis.cpp.

◆ begin() [1/2]

ValueMap::iterator llzk::IntervalAnalysisLattice::begin ( )
inline

Definition at line 251 of file IntervalAnalysis.h.

◆ begin() [2/2]

ValueMap::const_iterator llzk::IntervalAnalysisLattice::begin ( ) const
inline

Definition at line 253 of file IntervalAnalysis.h.

◆ end() [1/2]

ValueMap::iterator llzk::IntervalAnalysisLattice::end ( )
inline

Definition at line 252 of file IntervalAnalysis.h.

◆ end() [2/2]

ValueMap::const_iterator llzk::IntervalAnalysisLattice::end ( ) const
inline

Definition at line 254 of file IntervalAnalysis.h.

◆ findInterval()

FailureOr< Interval > llzk::IntervalAnalysisLattice::findInterval ( llvm::SMTExprRef expr) const

Definition at line 388 of file IntervalAnalysis.cpp.

◆ getConstraints()

const ConstraintSet & llzk::IntervalAnalysisLattice::getConstraints ( ) const
inline

Definition at line 242 of file IntervalAnalysis.h.

◆ getMap()

const ValueMap & llzk::IntervalAnalysisLattice::getMap ( ) const
inline

Definition at line 249 of file IntervalAnalysis.h.

◆ getValue() [1/2]

mlir::FailureOr< LatticeValue > llzk::IntervalAnalysisLattice::getValue ( mlir::Value v) const

◆ getValue() [2/2]

mlir::FailureOr< LatticeValue > llzk::IntervalAnalysisLattice::getValue ( mlir::Value v,
mlir::StringAttr f ) const

◆ join()

ChangeResult llzk::IntervalAnalysisLattice::join ( const AbstractDenseLattice & other)
override

Definition at line 280 of file IntervalAnalysis.cpp.

◆ meet()

mlir::ChangeResult llzk::IntervalAnalysisLattice::meet ( const AbstractDenseLattice & )
inlineoverride

Definition at line 221 of file IntervalAnalysis.h.

◆ print()

void llzk::IntervalAnalysisLattice::print ( mlir::raw_ostream & os) const
override

Definition at line 309 of file IntervalAnalysis.cpp.

◆ setInterval()

ChangeResult llzk::IntervalAnalysisLattice::setInterval ( llvm::SMTExprRef expr,
const Interval & i )

Definition at line 396 of file IntervalAnalysis.cpp.

◆ setValue() [1/3]

mlir::ChangeResult llzk::IntervalAnalysisLattice::setValue ( mlir::Value v,
const LatticeValue & val )

◆ setValue() [2/3]

mlir::ChangeResult llzk::IntervalAnalysisLattice::setValue ( mlir::Value v,
ExpressionValue e )

◆ setValue() [3/3]

mlir::ChangeResult llzk::IntervalAnalysisLattice::setValue ( mlir::Value v,
mlir::StringAttr f,
ExpressionValue e )

◆ size()

size_t llzk::IntervalAnalysisLattice::size ( ) const
inline

Definition at line 247 of file IntervalAnalysis.h.

◆ operator<<

mlir::raw_ostream & operator<< ( mlir::raw_ostream & os,
const IntervalAnalysisLattice & l )
friend

Definition at line 237 of file IntervalAnalysis.h.


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