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

#include <IntervalAnalysis.h>

Public Member Functions

mlir::LogicalResult computeIntervals (mlir::DataFlowSolver &solver, mlir::AnalysisManager &am, IntervalAnalysisContext &ctx)
 
void print (mlir::raw_ostream &os, bool withConstraints=false) const
 
const llvm::MapVector< ConstrainRef, Interval > & getIntervals () const
 
const llvm::SetVector< ExpressionValuegetSolverConstraints () const
 

Static Public Member Functions

static mlir::FailureOr< StructIntervalscompute (mlir::ModuleOp mod, component::StructDefOp s, mlir::DataFlowSolver &solver, mlir::AnalysisManager &am, IntervalAnalysisContext &ctx)
 Compute the struct intervals.
 

Friends

mlir::raw_ostream & operator<< (mlir::raw_ostream &os, const StructIntervals &si)
 

Detailed Description

Definition at line 754 of file IntervalAnalysis.h.

Member Function Documentation

◆ compute()

static mlir::FailureOr< StructIntervals > llzk::StructIntervals::compute ( mlir::ModuleOp mod,
component::StructDefOp s,
mlir::DataFlowSolver & solver,
mlir::AnalysisManager & am,
IntervalAnalysisContext & ctx )
inlinestatic

Compute the struct intervals.

Parameters
modThe LLZK-complaint module that is the parent of struct s.
sThe struct to compute value intervals for.
solverA pre-configured DataFlowSolver. The liveness of the struct must already be computed in this solver in order for the analysis to run.
amA module-level analysis manager. This analysis manager needs to originate from a module-level analysis (i.e., for the mod module) so that analyses for other constraints can be queried via the getChildAnalysis method.
Returns

Definition at line 765 of file IntervalAnalysis.h.

◆ computeIntervals()

LogicalResult llzk::StructIntervals::computeIntervals ( mlir::DataFlowSolver & solver,
mlir::AnalysisManager & am,
IntervalAnalysisContext & ctx )

Definition at line 1178 of file IntervalAnalysis.cpp.

◆ getIntervals()

const llvm::MapVector< ConstrainRef, Interval > & llzk::StructIntervals::getIntervals ( ) const
inline

Definition at line 782 of file IntervalAnalysis.h.

◆ getSolverConstraints()

const llvm::SetVector< ExpressionValue > llzk::StructIntervals::getSolverConstraints ( ) const
inline

Definition at line 786 of file IntervalAnalysis.h.

◆ print()

void llzk::StructIntervals::print ( mlir::raw_ostream & os,
bool withConstraints = false ) const

Definition at line 1214 of file IntervalAnalysis.cpp.

Friends And Related Symbol Documentation

◆ operator<<

mlir::raw_ostream & operator<< ( mlir::raw_ostream & os,
const StructIntervals & si )
friend

Definition at line 790 of file IntervalAnalysis.h.


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