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

An analysis wrapper around the ConstraintDependencyGraph for a given struct. More...

#include <ConstraintDependencyGraph.h>

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

Public Member Functions

virtual ~ConstraintDependencyGraphStructAnalysis ()=default
mlir::LogicalResult runAnalysis (mlir::DataFlowSolver &solver, mlir::AnalysisManager &moduleAnalysisManager, const CDGAnalysisContext &ctx) override
 Construct a CDG, using the module's analysis manager to query ConstraintDependencyGraph objects for nested components.
 StructAnalysis (mlir::Operation *op)
 Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp.
Public Member Functions inherited from llzk::StructAnalysis< ConstraintDependencyGraph, CDGAnalysisContext >
 StructAnalysis (mlir::Operation *op)
 Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp.
virtual ~StructAnalysis ()=default
bool constructed (const CDGAnalysisContext &ctx) const
 Query if the analysis has constructed a Result object for the given Context.
const ConstraintDependencyGraphgetResult (const CDGAnalysisContext &ctx) const
 Access the result iff it has been created for the given Context object ctx.

Additional Inherited Members

Protected Member Functions inherited from llzk::StructAnalysis< ConstraintDependencyGraph, CDGAnalysisContext >
mlir::ModuleOp getModule () const
 Get the ModuleOp that is the parent of the StructDefOp that is under analysis.
component::StructDefOp getStruct () const
 Get the current StructDefOp that is under analysis.
void setResult (const CDGAnalysisContext &ctx, ConstraintDependencyGraph &&r)
 Initialize the final Result object.

Detailed Description

An analysis wrapper around the ConstraintDependencyGraph for a given struct.

This analysis is a StructDefOp-level analysis that should not be directly interacted with—rather, it is a utility used by the ConstraintDependencyGraphModuleAnalysis that helps use MLIR's AnalysisManager to cache dependencies for sub-components.

Definition at line 232 of file ConstraintDependencyGraph.h.

Constructor & Destructor Documentation

◆ ~ConstraintDependencyGraphStructAnalysis()

virtual llzk::ConstraintDependencyGraphStructAnalysis::~ConstraintDependencyGraphStructAnalysis ( )
virtualdefault

Member Function Documentation

◆ runAnalysis()

mlir::LogicalResult llzk::ConstraintDependencyGraphStructAnalysis::runAnalysis ( mlir::DataFlowSolver & solver,
mlir::AnalysisManager & moduleAnalysisManager,
const CDGAnalysisContext & ctx )
overridevirtual

Construct a CDG, using the module's analysis manager to query ConstraintDependencyGraph objects for nested components.

Implements llzk::StructAnalysis< ConstraintDependencyGraph, CDGAnalysisContext >.

Definition at line 608 of file ConstraintDependencyGraph.cpp.

◆ StructAnalysis()

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

Assert that this analysis is being run on a StructDefOp and initializes the analysis with the current StructDefOp and its parent ModuleOp.

Parameters
opThe presumed StructDefOp.

Definition at line 47 of file AnalysisWrappers.h.


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