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

#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 AbstractSparseLattice &other) override
mlir::ChangeResult meet (const AbstractSparseLattice &other) override
void print (mlir::raw_ostream &os) const override
const LatticeValuegetValue () const
mlir::ChangeResult setValue (const LatticeValue &val)
mlir::ChangeResult setValue (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)

Friends

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

Detailed Description

Definition at line 205 of file IntervalAnalysis.h.

Member Typedef Documentation

◆ ConstraintSet

Definition at line 216 of file IntervalAnalysis.h.

◆ ExpressionIntervals

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

Definition at line 214 of file IntervalAnalysis.h.

◆ FieldMap

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

Definition at line 212 of file IntervalAnalysis.h.

◆ LatticeValue

◆ ValueMap

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

Definition at line 209 of file IntervalAnalysis.h.

Member Function Documentation

◆ addSolverConstraint()

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

Definition at line 356 of file IntervalAnalysis.cpp.

◆ findInterval()

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

◆ getConstraints()

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

Definition at line 238 of file IntervalAnalysis.h.

◆ getValue()

const LatticeValue & llzk::IntervalAnalysisLattice::getValue ( ) const
inline

Definition at line 226 of file IntervalAnalysis.h.

◆ join()

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

Definition at line 305 of file IntervalAnalysis.cpp.

◆ meet()

ChangeResult llzk::IntervalAnalysisLattice::meet ( const AbstractSparseLattice & other)
override

Definition at line 320 of file IntervalAnalysis.cpp.

◆ print()

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

Definition at line 339 of file IntervalAnalysis.cpp.

◆ setInterval()

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

◆ setValue() [1/2]

ChangeResult llzk::IntervalAnalysisLattice::setValue ( const LatticeValue & val)

Definition at line 343 of file IntervalAnalysis.cpp.

◆ setValue() [2/2]

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

Definition at line 351 of file IntervalAnalysis.cpp.

◆ operator<<

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

Definition at line 233 of file IntervalAnalysis.h.


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