|
LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
|
#include <IntervalAnalysis.h>
Public Member Functions | |
| ~StructIntervalAnalysis () override=default | |
| bool | inProgress (const IntervalAnalysisContext &ctx) const |
| mlir::LogicalResult | runAnalysis (mlir::DataFlowSolver &solver, mlir::AnalysisManager &am, const IntervalAnalysisContext &ctx) override |
| Perform the analysis and construct the Result output. | |
| StructAnalysis (mlir::Operation *op) | |
| Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp. | |
| Public Member Functions inherited from llzk::StructAnalysis< StructIntervals, IntervalAnalysisContext > | |
| StructAnalysis (mlir::Operation *op) | |
| Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp. | |
| virtual | ~StructAnalysis ()=default |
| bool | constructed (const IntervalAnalysisContext &ctx) const |
| Query if the analysis has constructed a Result object for the given Context. | |
| const StructIntervals & | getResult (const IntervalAnalysisContext &ctx) const |
| Access the result iff it has been created for the given Context object ctx. | |
Additional Inherited Members | |
| Protected Member Functions inherited from llzk::StructAnalysis< StructIntervals, IntervalAnalysisContext > | |
| mlir::ModuleOp | getModule () const |
| Get the ModuleOp that is the parent of the StructDefOp that is under analysis. | |
| component::StructDefOp | getStruct () const |
| Get the current StructDefOp that is under analysis. | |
| void | setResult (const IntervalAnalysisContext &ctx, StructIntervals &&r) |
| Initialize the final Result object. | |
Definition at line 595 of file IntervalAnalysis.h.
|
overridedefault |
|
inline |
Definition at line 600 of file IntervalAnalysis.h.
|
inlineoverridevirtual |
Perform the analysis and construct the Result output.
| solver | The pre-configured dataflow solver. This solver should already have a liveness analysis run, otherwise this analysis may be a no-op. |
| moduleAnalysisManager | The analysis manager of the top-level module. By giving the struct analysis a reference to the module's analysis manager, we can query analyses of other structs by querying for a child analysis. Otherwise, a struct's analysis manager cannot query for the analyses of other operations unless they are nested within the struct. |
| ctx | The Context given to the analysis. This is presumed to have been created by the StructAnalysis's parent ModuleAnalysis. |
Implements llzk::StructAnalysis< StructIntervals, IntervalAnalysisContext >.
Definition at line 604 of file IntervalAnalysis.h.
|
inline |
Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp.
| op | The presumed StructDefOp. |
Definition at line 47 of file AnalysisWrappers.h.