|
LLZK 0.1.0
Veridise's ZK Language IR
|
An analysis wrapper that runs the given StructAnalysisTy struct analysis over all of the struct contained within the module. More...
#include <AnalysisWrappers.h>
Public Member Functions | |
| ModuleAnalysis (mlir::Operation *op) | |
| Asserts that the analysis is being run on a ModuleOp. | |
| virtual | ~ModuleAnalysis ()=default |
| virtual void | runAnalysis (mlir::AnalysisManager &am) |
| Run the StructAnalysisTy struct analysis on all child structs. | |
| void | ensureAnalysisRun (mlir::AnalysisManager &am) |
| Runs the analysis if the results do not already exist. | |
| bool | constructed () const |
| Check if the results of this analysis have been created for the currently available context. | |
| bool | hasResult (component::StructDefOp op) const |
| Checks if op has a result contained in the current result map. | |
| const Result & | getResult (component::StructDefOp op) const |
| Asserts that op has a result and returns it. | |
| const StructResults & | getCurrentResults () const |
| Get the results for the current context. | |
| mlir::DataFlowSolver & | getSolver () |
Protected Member Functions | |
| virtual void | initializeSolver ()=0 |
| Initialize the shared dataflow solver with any common analyses required by the contained struct analyses. | |
| virtual const Context & | getContext () const =0 |
| Return the current Context object. | |
| void | constructChildAnalyses (mlir::AnalysisManager &am) |
| Construct and run the StructAnalysisTy analyses on each StructDefOp contained in the ModuleOp that is being subjected to this analysis. | |
Protected Attributes | |
| mlir::DataFlowSolver | solver |
An analysis wrapper that runs the given StructAnalysisTy struct analysis over all of the struct contained within the module.
Through the use of the Context object, this analysis facilitates the sharing of common data and analyses across struct analyses.
| Result | The result of each StructAnalysis. |
| Context | The context shared between StructAnalysis analyses. |
| StructAnalysisType | The analysis run on all the contained module's structs. |
Definition at line 136 of file AnalysisWrappers.h.
|
inline |
Asserts that the analysis is being run on a ModuleOp.
Definition at line 154 of file AnalysisWrappers.h.
|
virtualdefault |
|
inlineprotected |
Construct and run the StructAnalysisTy analyses on each StructDefOp contained in the ModuleOp that is being subjected to this analysis.
| am | The module's analysis manager. |
Definition at line 214 of file AnalysisWrappers.h.
|
inline |
Check if the results of this analysis have been created for the currently available context.
Definition at line 178 of file AnalysisWrappers.h.
|
inline |
Runs the analysis if the results do not already exist.
Definition at line 170 of file AnalysisWrappers.h.
|
protectedpure virtual |
Return the current Context object.
The context contains parameters that configure or pass information to the analysis.
Implemented in llzk::ConstraintDependencyGraphModuleAnalysis, and llzk::ModuleIntervalAnalysis.
|
inline |
Get the results for the current context.
Definition at line 192 of file AnalysisWrappers.h.
|
inline |
Asserts that op has a result and returns it.
Definition at line 186 of file AnalysisWrappers.h.
|
inline |
Definition at line 197 of file AnalysisWrappers.h.
|
inline |
Checks if op has a result contained in the current result map.
Definition at line 181 of file AnalysisWrappers.h.
|
protectedpure virtual |
Initialize the shared dataflow solver with any common analyses required by the contained struct analyses.
| solver |
Implemented in llzk::ConstraintDependencyGraphModuleAnalysis, and llzk::ModuleIntervalAnalysis.
|
inlinevirtual |
Run the StructAnalysisTy struct analysis on all child structs.
| am | The module-level analysis manager that will be passed to StructAnalysis::runAnalysis. This analysis manager should be the same analysis manager used to construct this analysis. |
Definition at line 167 of file AnalysisWrappers.h.
|
protected |
Definition at line 200 of file AnalysisWrappers.h.