MLIR  19.0.0git
Public Member Functions | Protected Member Functions | List of all members
mlir::GenericProgramPoint Class Referenceabstract

Abstract class for generic program points. More...

#include "mlir/Analysis/DataFlowFramework.h"

+ Inheritance diagram for mlir::GenericProgramPoint:

Public Member Functions

virtual ~GenericProgramPoint ()
 
TypeID getTypeID () const
 Get the abstract program point's type identifier. More...
 
virtual Location getLoc () const =0
 Get a derived source location for the program point. More...
 
virtual void print (raw_ostream &os) const =0
 Print the program point. More...
 

Protected Member Functions

 GenericProgramPoint (TypeID typeID)
 Create an abstract program point with type identifier. More...
 
- Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage
 BaseStorage ()=default
 

Detailed Description

Abstract class for generic program points.

In classical data-flow analysis, programs points represent positions in a program to which lattice elements are attached. In sparse data-flow analysis, these can be SSA values, and in dense data-flow analysis, these are the program points before and after every operation.

In the general MLIR data-flow analysis framework, program points are an extensible concept. Program points are uniquely identifiable objects to which analysis states can be attached. The semantics of program points are defined by the analyses that specify their transfer functions.

Program points are implemented using MLIR's storage uniquer framework and type ID system to provide RTTI.

Definition at line 69 of file DataFlowFramework.h.

Constructor & Destructor Documentation

◆ ~GenericProgramPoint()

GenericProgramPoint::~GenericProgramPoint ( )
virtualdefault

◆ GenericProgramPoint()

mlir::GenericProgramPoint::GenericProgramPoint ( TypeID  typeID)
inlineexplicitprotected

Create an abstract program point with type identifier.

Definition at line 84 of file DataFlowFramework.h.

Member Function Documentation

◆ getLoc()

virtual Location mlir::GenericProgramPoint::getLoc ( ) const
pure virtual

Get a derived source location for the program point.

Implemented in mlir::dataflow::CFGEdge.

◆ getTypeID()

TypeID mlir::GenericProgramPoint::getTypeID ( ) const
inline

Get the abstract program point's type identifier.

Definition at line 74 of file DataFlowFramework.h.

Referenced by mlir::GenericProgramPointBase< ConcreteT, Value >::classof().

◆ print()

virtual void mlir::GenericProgramPoint::print ( raw_ostream &  os) const
pure virtual

Print the program point.

Implemented in mlir::dataflow::CFGEdge.


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