MLIR  19.0.0git
Public Member Functions | List of all members
mlir::dataflow::AbstractDenseLattice Class Reference

This class represents a dense lattice. More...

#include "mlir/Analysis/DataFlow/DenseAnalysis.h"

+ Inheritance diagram for mlir::dataflow::AbstractDenseLattice:

Public Member Functions

virtual ChangeResult join (const AbstractDenseLattice &rhs)
 Join the lattice across control-flow or callgraph edges. More...
 
virtual ChangeResult meet (const AbstractDenseLattice &rhs)
 
 AnalysisState (ProgramPoint point)
 A dense lattice can only be created for operations and blocks. More...
 
- Public Member Functions inherited from mlir::AnalysisState
virtual ~AnalysisState ()
 
 AnalysisState (ProgramPoint point)
 Create the analysis state at the given program point. More...
 
ProgramPoint getPoint () const
 Returns the program point this state is located at. More...
 
virtual void print (raw_ostream &os) const =0
 Print the contents of the analysis state. More...
 
LLVM_DUMP_METHOD void dump () const
 
void addDependency (ProgramPoint dependent, DataFlowAnalysis *analysis)
 Add a dependency to this analysis state on a program point and an analysis. More...
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::AnalysisState
virtual void onUpdate (DataFlowSolver *solver) const
 This function is called by the solver when the analysis state is updated to enqueue more work items. More...
 
- Protected Attributes inherited from mlir::AnalysisState
ProgramPoint point
 The program point to which the state belongs. More...
 

Detailed Description

This class represents a dense lattice.

A dense lattice is attached to operations to represent the program state after their execution or to blocks to represent the program state at the beginning of the block. A dense lattice is propagated through the IR by dense data-flow analysis.

Definition at line 42 of file DenseAnalysis.h.

Member Function Documentation

◆ AnalysisState()

mlir::AnalysisState::AnalysisState
inline

A dense lattice can only be created for operations and blocks.

Definition at line 319 of file DataFlowFramework.h.

◆ join()

virtual ChangeResult mlir::dataflow::AbstractDenseLattice::join ( const AbstractDenseLattice rhs)
inlinevirtual

Join the lattice across control-flow or callgraph edges.

Definition at line 48 of file DenseAnalysis.h.

References mlir::NoChange.

Referenced by mlir::dataflow::AbstractDenseForwardDataFlowAnalysis::join().

◆ meet()

virtual ChangeResult mlir::dataflow::AbstractDenseLattice::meet ( const AbstractDenseLattice rhs)
inlinevirtual

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