|
LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
|
Public Types | |
| using | Base = IntervalAnalysisPrinterPassBase |
Public Member Functions | |
| IntervalAnalysisPrinterPassBase () | |
| IntervalAnalysisPrinterPassBase (const IntervalAnalysisPrinterPassBase &other) | |
| IntervalAnalysisPrinterPassBase & | operator= (const IntervalAnalysisPrinterPassBase &)=delete |
| IntervalAnalysisPrinterPassBase (IntervalAnalysisPrinterPassBase &&)=delete | |
| IntervalAnalysisPrinterPassBase & | operator= (IntervalAnalysisPrinterPassBase &&)=delete |
| ~IntervalAnalysisPrinterPassBase ()=default | |
| ::llvm::StringRef | getArgument () const override |
| ::llvm::StringRef | getDescription () const override |
| ::llvm::StringRef | getName () const override |
| std::unique_ptr<::mlir::Pass > | clonePass () const override |
| A clone method to create a copy of this pass. | |
| void | getDependentDialects (::mlir::DialectRegistry ®istry) const override |
| Return the dialect that must be loaded in the context before this pass. | |
| IntervalAnalysisPrinterPassBase (IntervalAnalysisPrinterPassOptions options) | |
| Explicitly declare the TypeID for this class. | |
Static Public Member Functions | |
| static constexpr ::llvm::StringLiteral | getArgumentName () |
| Returns the command-line argument attached to this pass. | |
| static constexpr ::llvm::StringLiteral | getPassName () |
| Returns the derived pass name. | |
| static bool | classof (const ::mlir::Pass *pass) |
| Support isa/dyn_cast functionality for the derived pass class. | |
Protected Attributes | |
| ::mlir::Pass::Option<::llzk::OutputStream > | outputStream |
| ::mlir::Pass::Option< std::string > | fieldName {*this, "field", ::llvm::cl::desc("The field to use for interval analysis. If supplied, this always overrides the module's detected field. If omitted, the pass first tries to detect a single field from the enclosing module's felt usage and otherwise falls back to bn128. Supported fields: bn128/bn254, babybear, goldilocks, grumpkin, koalabear, mersenne31"), ::llvm::cl::init("")} |
| ::mlir::Pass::Option< bool > | propagateInputConstraints {*this, "propagate-input-constraints", ::llvm::cl::desc("Whether to propagate constraints on inputs from @constrain to @compute functions. This allows for tighter intervals to possibly be found for computed values, assuming that the witness generator would include constraints as assertions during the computation."), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | printSolverConstraints {*this, "print-solver-constraints", ::llvm::cl::desc("Whether to output SMT solver constraints along with intervals."), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | printComputeIntervals {*this, "print-compute-intervals", ::llvm::cl::desc("Whether to print compute function intervals (default only prints constrain function intervals)."), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | printUnreducedIntervals {*this, "print-unreduced-intervals", ::llvm::cl::desc("Whether to print tracked unreduced intervals alongside reduced interval summaries."), ::llvm::cl::init(false)} |
| ::mlir::Pass::Option< bool > | printSSAIntervals {*this, "print-ssa-intervals", ::llvm::cl::desc("Whether to print per-SSA intervals for function arguments and scalar op results."), ::llvm::cl::init(false)} |
Friends | |
| std::unique_ptr<::mlir::Pass > | createIntervalAnalysisPrinterPass () |
| std::unique_ptr<::mlir::Pass > | createIntervalAnalysisPrinterPass (IntervalAnalysisPrinterPassOptions options) |
Definition at line 390 of file IntervalAnalysisPass.cpp.
| using llzk::impl::IntervalAnalysisPrinterPassBase< DerivedT >::Base = IntervalAnalysisPrinterPassBase |
Definition at line 392 of file IntervalAnalysisPass.cpp.
|
inline |
Definition at line 394 of file IntervalAnalysisPass.cpp.
|
inline |
Definition at line 395 of file IntervalAnalysisPass.cpp.
|
delete |
|
default |
|
inline |
Explicitly declare the TypeID for this class.
We declare an explicit private instantiation because Pass classes should only be visible by the current library.
Definition at line 447 of file IntervalAnalysisPass.cpp.
|
inlinestatic |
Support isa/dyn_cast functionality for the derived pass class.
Definition at line 416 of file IntervalAnalysisPass.cpp.
|
inlineoverride |
A clone method to create a copy of this pass.
Definition at line 421 of file IntervalAnalysisPass.cpp.
|
inlineoverride |
Definition at line 405 of file IntervalAnalysisPass.cpp.
|
inlinestatic |
Returns the command-line argument attached to this pass.
Definition at line 402 of file IntervalAnalysisPass.cpp.
|
inlineoverride |
Return the dialect that must be loaded in the context before this pass.
Definition at line 426 of file IntervalAnalysisPass.cpp.
|
inlineoverride |
Definition at line 407 of file IntervalAnalysisPass.cpp.
|
inlineoverride |
Definition at line 413 of file IntervalAnalysisPass.cpp.
|
inlinestatic |
Returns the derived pass name.
Definition at line 410 of file IntervalAnalysisPass.cpp.
|
delete |
|
delete |
|
friend |
Definition at line 473 of file IntervalAnalysisPass.cpp.
|
friend |
Definition at line 477 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 465 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 457 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 468 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 467 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 470 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 469 of file IntervalAnalysisPass.cpp.
|
protected |
Definition at line 466 of file IntervalAnalysisPass.cpp.