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

#include <IntervalAnalysis.h>

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

Additional Inherited Members

Public Member Functions inherited from llzk::dataflow::AbstractLatticeValue< IntervalAnalysisLatticeValue, ExpressionValue >
 AbstractLatticeValue (ScalarTy s)
AbstractLatticeValueoperator= (const AbstractLatticeValue &rhs)
bool isScalar () const
bool isSingleValue () const
bool isArray () const
const ScalarTy & getScalarValue () const
const ArrayTy & getArrayValue () const
const IntervalAnalysisLatticeValuegetElemFlatIdx (unsigned i) const
 Directly index into the flattened array using a single index.
size_t getArraySize () const
size_t getNumArrayDims () const
void print (mlir::raw_ostream &os) const
ScalarTy foldToScalar () const
 If this is an array value, combine all elements into a single scalar value and return it.
mlir::ChangeResult setValue (const AbstractLatticeValue &rhs)
 Sets this value to be equal to rhs.
mlir::ChangeResult update (const IntervalAnalysisLatticeValue &rhs)
 Union this value with that of rhs.
bool operator== (const AbstractLatticeValue &rhs) const
Protected Member Functions inherited from llzk::dataflow::AbstractLatticeValue< IntervalAnalysisLatticeValue, ExpressionValue >
std::variant< ScalarTy, ArrayTy > & getValue ()
const std::vector< int64_t > & getArrayShape () const
int64_t getArrayDim (unsigned i) const
void copyArrayShape (const AbstractLatticeValue &rhs)
mlir::ChangeResult updateScalar (const ScalarTy &rhs)
 Union this value with the given scalar.
mlir::ChangeResult updateArray (const ArrayTy &rhs)
 Union this value with the given array.
mlir::ChangeResult foldAndUpdate (const IntervalAnalysisLatticeValue &rhs)
 Folds the current value into a scalar and folds rhs to a scalar and updates the current value to the union of the two scalars.

Detailed Description

Definition at line 192 of file IntervalAnalysis.h.


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