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

#include <IntervalAnalysis.h>

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

Public Member Functions

 ModuleIntervalAnalysis (mlir::Operation *op)
 
virtual ~ModuleIntervalAnalysis ()=default
 
void setField (const Field &f)
 
void setPropagateInputConstraints (bool prop)
 
- Public Member Functions inherited from llzk::ModuleAnalysis< StructIntervals, IntervalAnalysisContext, StructIntervalAnalysis >
 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 StructIntervalsgetResult (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.
 
IntervalAnalysisContext getContext () override
 Create and return a valid Context object.
 
- Protected Member Functions inherited from llzk::ModuleAnalysis< StructIntervals, IntervalAnalysisContext, StructIntervalAnalysis >
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< StructIntervals, IntervalAnalysisContext, StructIntervalAnalysis >
mlir::DataFlowSolver solver
 

Detailed Description

Definition at line 485 of file IntervalAnalysis.h.

Constructor & Destructor Documentation

◆ ModuleIntervalAnalysis()

llzk::ModuleIntervalAnalysis::ModuleIntervalAnalysis ( mlir::Operation * op)
inline

Definition at line 489 of file IntervalAnalysis.h.

◆ ~ModuleIntervalAnalysis()

virtual llzk::ModuleIntervalAnalysis::~ModuleIntervalAnalysis ( )
virtualdefault

Member Function Documentation

◆ getContext()

IntervalAnalysisContext llzk::ModuleIntervalAnalysis::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< StructIntervals, IntervalAnalysisContext, StructIntervalAnalysis >.

Definition at line 507 of file IntervalAnalysis.h.

◆ initializeSolver()

void llzk::ModuleIntervalAnalysis::initializeSolver ( )
inlineoverrideprotectedvirtual

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

Parameters
solver

Implements llzk::ModuleAnalysis< StructIntervals, IntervalAnalysisContext, StructIntervalAnalysis >.

Definition at line 497 of file IntervalAnalysis.h.

◆ setField()

void llzk::ModuleIntervalAnalysis::setField ( const Field & f)
inline

Definition at line 493 of file IntervalAnalysis.h.

◆ setPropagateInputConstraints()

void llzk::ModuleIntervalAnalysis::setPropagateInputConstraints ( bool prop)
inline

Definition at line 494 of file IntervalAnalysis.h.


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