MLIR
19.0.0git
|
Base class for generic program points based on a concrete program point type and a content key. More...
#include "mlir/Analysis/DataFlowFramework.h"
Public Types | |
using | KeyTy = Value |
The concrete key type used by the storage uniquer. More... | |
using | Base = GenericProgramPointBase< ConcreteT, Value > |
Alias for the base class. More... | |
Public Member Functions | |
template<typename ValueT > | |
GenericProgramPointBase (ValueT &&value) | |
Construct an instance of the program point using the provided value and the type ID of the concrete type. More... | |
bool | operator== (const Value &value) const |
Two program points are equal if their values are equal. More... | |
const Value & | getValue () const |
Get the contents of the program point. More... | |
Public Member Functions inherited from mlir::GenericProgramPoint | |
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... | |
Static Public Member Functions | |
template<typename... Args> | |
static ConcreteT * | get (StorageUniquer &uniquer, Args &&...args) |
Get a uniqued instance of this program point class with the given arguments. More... | |
template<typename ValueT > | |
static ConcreteT * | construct (StorageUniquer::StorageAllocator &alloc, ValueT &&value) |
Allocate space for a program point and construct it in-place. More... | |
static bool | classof (const GenericProgramPoint *point) |
Provide LLVM-style RTTI using type IDs. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::GenericProgramPoint | |
GenericProgramPoint (TypeID typeID) | |
Create an abstract program point with type identifier. More... | |
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage | |
BaseStorage ()=default | |
Base class for generic program points based on a concrete program point type and a content key.
This class defines the common methods required for operability with the storage uniquer framework.
The provided key type uniquely identifies the concrete program point instance and are the data members of the class.
Definition at line 102 of file DataFlowFramework.h.
using mlir::GenericProgramPointBase< ConcreteT, Value >::Base = GenericProgramPointBase<ConcreteT, Value> |
Alias for the base class.
Definition at line 108 of file DataFlowFramework.h.
using mlir::GenericProgramPointBase< ConcreteT, Value >::KeyTy = Value |
The concrete key type used by the storage uniquer.
This class is uniqued by its contents.
Definition at line 106 of file DataFlowFramework.h.
|
inlineexplicit |
Construct an instance of the program point using the provided value and the type ID of the concrete type.
Definition at line 113 of file DataFlowFramework.h.
|
inlinestatic |
Provide LLVM-style RTTI using type IDs.
Definition at line 136 of file DataFlowFramework.h.
References mlir::GenericProgramPoint::getTypeID().
|
inlinestatic |
Allocate space for a program point and construct it in-place.
Definition at line 126 of file DataFlowFramework.h.
References mlir::StorageUniquer::StorageAllocator::allocate().
|
inlinestatic |
Get a uniqued instance of this program point class with the given arguments.
Definition at line 120 of file DataFlowFramework.h.
References mlir::StorageUniquer::get().
|
inline |
Get the contents of the program point.
Definition at line 141 of file DataFlowFramework.h.
|
inline |
Two program points are equal if their values are equal.
Definition at line 133 of file DataFlowFramework.h.