LLZK 0.1.0
Veridise's ZK Language IR
|
#include <IntervalAnalysis.h>
Public Member Functions | |
mlir::LogicalResult | runAnalysis (mlir::DataFlowSolver &solver, mlir::AnalysisManager &moduleAnalysisManager, 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. | |
![]() | |
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. | |
bool | constructed () const |
Query if the analysis has constructed a Result object. | |
const StructIntervals & | getResult () const |
Access the result iff it has been created. | |
Additional Inherited Members | |
![]() | |
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 (StructIntervals &&r) |
Initialize the final Result object. | |
Definition at line 811 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. |
mlir::success()
if the analysis ran without errors, and a mlir::failure()
otherwise. Implements llzk::StructAnalysis< StructIntervals, IntervalAnalysisContext >.
Definition at line 815 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.