LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::ConstraintDependencyGraphModuleAnalysis Class Reference

A module-level analysis for constructing ConstraintDependencyGraph objects for all structs in the given LLZK module. More...

#include <ConstraintDependencyGraph.h>

Inheritance diagram for llzk::ConstraintDependencyGraphModuleAnalysis:
[legend]
Collaboration diagram for llzk::ConstraintDependencyGraphModuleAnalysis:
[legend]

Public Member Functions

virtual ~ConstraintDependencyGraphModuleAnalysis ()=default
 
void setIntraprocedural (bool runIntraprocedural)
 
 ModuleAnalysis (mlir::Operation *op)
 Asserts that the analysis is being run on a ModuleOp.
 
- Public Member Functions inherited from llzk::ModuleAnalysis< ConstraintDependencyGraph, CDGAnalysisContext, ConstraintDependencyGraphStructAnalysis >
 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.
 
bool hasResult (component::StructDefOp op) const
 Checks if op has a result contained in the current result map.
 
const ConstraintDependencyGraphgetResult (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

void initializeSolver () override
 Initialize the shared dataflow solver with any common analyses required by the contained struct analyses.
 
CDGAnalysisContext getContext () override
 Create and return a valid Context object.
 
- Protected Member Functions inherited from llzk::ModuleAnalysis< ConstraintDependencyGraph, CDGAnalysisContext, ConstraintDependencyGraphStructAnalysis >
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.
 

Additional Inherited Members

- Protected Attributes inherited from llzk::ModuleAnalysis< ConstraintDependencyGraph, CDGAnalysisContext, ConstraintDependencyGraphStructAnalysis >
mlir::DataFlowSolver solver
 

Detailed Description

A module-level analysis for constructing ConstraintDependencyGraph objects for all structs in the given LLZK module.

Definition at line 247 of file ConstraintDependencyGraph.h.

Constructor & Destructor Documentation

◆ ~ConstraintDependencyGraphModuleAnalysis()

virtual llzk::ConstraintDependencyGraphModuleAnalysis::~ConstraintDependencyGraphModuleAnalysis ( )
virtualdefault

Member Function Documentation

◆ getContext()

CDGAnalysisContext llzk::ConstraintDependencyGraphModuleAnalysis::getContext ( )
inlineoverrideprotectedvirtual

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.

Implements llzk::ModuleAnalysis< ConstraintDependencyGraph, CDGAnalysisContext, ConstraintDependencyGraphStructAnalysis >.

Definition at line 260 of file ConstraintDependencyGraph.h.

◆ initializeSolver()

void llzk::ConstraintDependencyGraphModuleAnalysis::initializeSolver ( )
inlineoverrideprotectedvirtual

Initialize the shared dataflow solver with any common analyses required by the contained struct analyses.

Parameters
solver

Implements llzk::ModuleAnalysis< ConstraintDependencyGraph, CDGAnalysisContext, ConstraintDependencyGraphStructAnalysis >.

Definition at line 258 of file ConstraintDependencyGraph.h.

◆ ModuleAnalysis()

llzk::ModuleAnalysis< Result, Context, StructAnalysisTy >::ModuleAnalysis ( mlir::Operation * op)
inline

Asserts that the analysis is being run on a ModuleOp.

Note
Derived classes may also use the Analysis(mlir::Operation*, mlir::AnalysisManager&) constructor that is allowed by classes that are constructed using the AnalysisManager::getAnalysis<Analysis>() method.

Definition at line 132 of file AnalysisWrappers.h.

◆ setIntraprocedural()

void llzk::ConstraintDependencyGraphModuleAnalysis::setIntraprocedural ( bool runIntraprocedural)
inline

Definition at line 255 of file ConstraintDependencyGraph.h.


The documentation for this class was generated from the following file: