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

 ModuleAnalysis (mlir::Operation *op)
 Asserts that the analysis is being run on a ModuleOp.
 
- Public Member Functions inherited from llzk::ModuleAnalysis< ConstraintDependencyGraph, NoContext, ConstraintDependencyGraphStructAnalysis >
 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 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 (mlir::DataFlowSolver &solver) override
 Initialize the shared dataflow solver with any common analyses required by the contained struct analyses.
 
NoContext getContext () override
 Create and return a valid Context object.
 
- Protected Member Functions inherited from llzk::ModuleAnalysis< ConstraintDependencyGraph, NoContext, 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.
 

Detailed Description

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

Definition at line 218 of file ConstraintDependencyGraph.h.

Member Function Documentation

◆ getContext()

NoContext 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, NoContext, ConstraintDependencyGraphStructAnalysis >.

Definition at line 230 of file ConstraintDependencyGraph.h.

◆ initializeSolver()

void llzk::ConstraintDependencyGraphModuleAnalysis::initializeSolver ( mlir::DataFlowSolver & solver)
inlineoverrideprotectedvirtual

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

Parameters
solver

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

Definition at line 226 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 131 of file AnalysisWrappers.h.


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