|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
#include <IntervalAnalysis.h>
Public Member Functions | |
| mlir::LogicalResult | computeIntervals (mlir::DataFlowSolver &solver, mlir::AnalysisManager &am, const IntervalAnalysisContext &ctx) |
| void | print (mlir::raw_ostream &os, bool withConstraints=false, bool printCompute=false, bool printUnreduced=false) const |
| const llvm::MapVector< SourceRef, Interval > & | getConstrainIntervals () const |
| const llvm::MapVector< SourceRef, UnreducedInterval > & | getConstrainUnreducedIntervals () const |
| const llvm::SetVector< ExpressionValue > | getConstrainSolverConstraints () const |
| const llvm::MapVector< SourceRef, Interval > & | getComputeIntervals () const |
| const llvm::MapVector< SourceRef, UnreducedInterval > & | getComputeUnreducedIntervals () const |
| const llvm::SetVector< ExpressionValue > | getComputeSolverConstraints () const |
Static Public Member Functions | |
| static mlir::FailureOr< StructIntervals > | compute (mlir::ModuleOp mod, component::StructDefOp s, mlir::DataFlowSolver &solver, mlir::AnalysisManager &am, const IntervalAnalysisContext &ctx) |
| Compute the struct intervals. | |
Friends | |
| mlir::raw_ostream & | operator<< (mlir::raw_ostream &os, const StructIntervals &si) |
Definition at line 519 of file IntervalAnalysis.h.
|
inlinestatic |
Compute the struct intervals.
| mod | The LLZK-complaint module that is the parent of struct s. |
| s | The struct to compute value intervals for. |
| solver | A pre-configured DataFlowSolver. The liveness of the struct must already be computed in this solver in order for the analysis to run. |
| am | A 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. |
| ctx |
Definition at line 531 of file IntervalAnalysis.h.
| LogicalResult llzk::StructIntervals::computeIntervals | ( | mlir::DataFlowSolver & | solver, |
| mlir::AnalysisManager & | am, | ||
| const IntervalAnalysisContext & | ctx ) |
Definition at line 1802 of file IntervalAnalysis.cpp.
|
inline |
Definition at line 563 of file IntervalAnalysis.h.
|
inline |
Definition at line 571 of file IntervalAnalysis.h.
|
inline |
Definition at line 567 of file IntervalAnalysis.h.
|
inline |
Definition at line 551 of file IntervalAnalysis.h.
|
inline |
Definition at line 559 of file IntervalAnalysis.h.
|
inline |
Definition at line 555 of file IntervalAnalysis.h.
| void llzk::StructIntervals::print | ( | mlir::raw_ostream & | os, |
| bool | withConstraints = false, | ||
| bool | printCompute = false, | ||
| bool | printUnreduced = false ) const |
Definition at line 2131 of file IntervalAnalysis.cpp.
|
friend |
Definition at line 575 of file IntervalAnalysis.h.