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 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 &rhs) override
 
void print (mlir::raw_ostream &os) const override
 
mlir::FailureOr< LatticeValuegetValue (mlir::Value v) const
 
mlir::ChangeResult setValue (mlir::Value v, ExpressionValue e)
 
mlir::ChangeResult addSolverConstraint (ExpressionValue e)
 
const ConstraintSetgetConstraints () const
 
mlir::FailureOr< IntervalfindInterval (llvm::SMTExprRef expr) const
 
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 560 of file IntervalAnalysis.h.

Member Typedef Documentation

◆ ConstraintSet

Definition at line 568 of file IntervalAnalysis.h.

◆ ExpressionIntervals

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

Definition at line 566 of file IntervalAnalysis.h.

◆ LatticeValue

◆ ValueMap

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

Definition at line 564 of file IntervalAnalysis.h.

Member Function Documentation

◆ addSolverConstraint()

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

Definition at line 711 of file IntervalAnalysis.cpp.

◆ begin() [1/2]

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

Definition at line 600 of file IntervalAnalysis.h.

◆ begin() [2/2]

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

Definition at line 602 of file IntervalAnalysis.h.

◆ end() [1/2]

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

Definition at line 601 of file IntervalAnalysis.h.

◆ end() [2/2]

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

Definition at line 603 of file IntervalAnalysis.h.

◆ findInterval()

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

Definition at line 719 of file IntervalAnalysis.cpp.

◆ getConstraints()

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

Definition at line 592 of file IntervalAnalysis.h.

◆ getMap()

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

Definition at line 598 of file IntervalAnalysis.h.

◆ getValue()

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

Definition at line 693 of file IntervalAnalysis.cpp.

◆ join()

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

Definition at line 648 of file IntervalAnalysis.cpp.

◆ meet()

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

Definition at line 574 of file IntervalAnalysis.h.

◆ print()

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

Definition at line 677 of file IntervalAnalysis.cpp.

◆ setValue()

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

Definition at line 701 of file IntervalAnalysis.cpp.

◆ size()

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

Definition at line 596 of file IntervalAnalysis.h.

Friends And Related Symbol Documentation

◆ operator<<

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

Definition at line 587 of file IntervalAnalysis.h.


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