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.
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 ConstraintDependencyGraphgetResult (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

void initializeSolver () override
 Initialize the shared dataflow solver with any common analyses required by the contained struct analyses.
const CDGAnalysisContextgetContext () const override
 Return the current 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 248 of file ConstraintDependencyGraph.h.

Constructor & Destructor Documentation

◆ ~ConstraintDependencyGraphModuleAnalysis()

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

Member Function Documentation

◆ getContext()

const CDGAnalysisContext & llzk::ConstraintDependencyGraphModuleAnalysis::getContext ( ) const
inlineoverrideprotectedvirtual

Return the current Context object.

The context contains parameters that configure or pass information to the analysis.

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

Definition at line 263 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 261 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 154 of file AnalysisWrappers.h.

◆ setIntraprocedural()

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

Definition at line 256 of file ConstraintDependencyGraph.h.


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