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 void | runAnalysis (mlir::AnalysisManager &am) |
Run the StructAnalysisTy struct analysis on all child structs. | |
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. | |
ResultMap::iterator | begin () |
ResultMap::iterator | end () |
ResultMap::const_iterator | cbegin () const |
ResultMap::const_iterator | cend () const |
const mlir::DataFlowSolver & | getSolver () const |
Protected Member Functions | |
virtual void | initializeSolver (mlir::DataFlowSolver &solver)=0 |
Initialize the shared dataflow solver with any common analyses required by the contained struct analyses. | |
virtual Context | getContext ()=0 |
Create and return a valid 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. | |
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 119 of file AnalysisWrappers.h.
|
inline |
Asserts that the analysis is being run on a ModuleOp
.
Analysis(mlir::Operation*, mlir::AnalysisManager&)
constructor that is allowed by classes that are constructed using the AnalysisManager::getAnalysis<Analysis>()
method. Definition at line 131 of file AnalysisWrappers.h.
|
inline |
Definition at line 154 of file AnalysisWrappers.h.
|
inline |
Definition at line 156 of file AnalysisWrappers.h.
|
inline |
Definition at line 157 of file AnalysisWrappers.h.
|
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 175 of file AnalysisWrappers.h.
|
inline |
Definition at line 155 of file AnalysisWrappers.h.
|
protectedpure virtual |
Create and return a valid Context
object.
This function is called once by constructChildAnalyses
and the resulting Context
is passed to each child struct analysis run by this module analysis.
Implemented in llzk::ConstraintDependencyGraphModuleAnalysis, and llzk::ModuleIntervalAnalysis.
|
inline |
Asserts that op
has a result and returns it.
Definition at line 149 of file AnalysisWrappers.h.
|
inline |
Definition at line 159 of file AnalysisWrappers.h.
|
inline |
Checks if op
has a result contained in the current result map.
Definition at line 146 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 143 of file AnalysisWrappers.h.