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)
 
 AbstractLatticeValue ()
 
 AbstractLatticeValue (const mlir::ArrayRef< int64_t > shape)
 
 AbstractLatticeValue (const AbstractLatticeValue &rhs)
 
AbstractLatticeValueoperator= (const AbstractLatticeValue &rhs)
 
bool isScalar () const
 
bool isSingleValue () const
 
bool isArray () const
 
const ScalarTy & getScalarValue () const
 
ScalarTy & getScalarValue ()
 
const ArrayTy & getArrayValue () const
 
ArrayTy & getArrayValue ()
 
const IntervalAnalysisLatticeValuegetElemFlatIdx (unsigned i) const
 Directly index into the flattened array using a single index.
 
IntervalAnalysisLatticeValuegetElemFlatIdx (unsigned i)
 
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 548 of file IntervalAnalysis.h.


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