MLIR
19.0.0git
|
Abstract class for generic program points. More...
#include "mlir/Analysis/DataFlowFramework.h"
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 | |
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.
|
virtualdefault |
|
inlineexplicitprotected |
Create an abstract program point with type identifier.
Definition at line 84 of file DataFlowFramework.h.
|
pure virtual |
Get a derived source location for the program point.
Implemented in mlir::dataflow::CFGEdge.
|
inline |
Get the abstract program point's type identifier.
Definition at line 74 of file DataFlowFramework.h.
Referenced by mlir::GenericProgramPointBase< ConcreteT, Value >::classof().
|
pure virtual |
Print the program point.
Implemented in mlir::dataflow::CFGEdge.