MLIR
20.0.0git
|
Base class for generic lattice anchor based on a concrete lattice anchor 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 = GenericLatticeAnchorBase< ConcreteT, Value > |
Alias for the base class. More... | |
Public Member Functions | |
template<typename ValueT > | |
GenericLatticeAnchorBase (ValueT &&value) | |
Construct an instance of the lattice anchor using the provided value and the type ID of the concrete type. More... | |
bool | operator== (const Value &value) const |
Two lattice anchors are equal if their values are equal. More... | |
const Value & | getValue () const |
Get the contents of the lattice anchor. More... | |
Public Member Functions inherited from mlir::GenericLatticeAnchor | |
virtual | ~GenericLatticeAnchor () |
TypeID | getTypeID () const |
Get the abstract lattice anchor's type identifier. More... | |
virtual Location | getLoc () const =0 |
Get a derived source location for the lattice anchor. More... | |
virtual void | print (raw_ostream &os) const =0 |
Print the lattice anchor. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static ConcreteT * | get (StorageUniquer &uniquer, Args &&...args) |
Get a uniqued instance of this lattice anchor class with the given arguments. More... | |
template<typename ValueT > | |
static ConcreteT * | construct (StorageUniquer::StorageAllocator &alloc, ValueT &&value) |
Allocate space for a lattice anchor and construct it in-place. More... | |
static bool | classof (const GenericLatticeAnchor *point) |
Provide LLVM-style RTTI using type IDs. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::GenericLatticeAnchor | |
GenericLatticeAnchor (TypeID typeID) | |
Create an abstract lattice anchor with type identifier. More... | |
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage | |
BaseStorage ()=default | |
Base class for generic lattice anchor based on a concrete lattice anchor 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 lattice anchor instance and are the data members of the class.
Definition at line 199 of file DataFlowFramework.h.
using mlir::GenericLatticeAnchorBase< ConcreteT, Value >::Base = GenericLatticeAnchorBase<ConcreteT, Value> |
Alias for the base class.
Definition at line 205 of file DataFlowFramework.h.
using mlir::GenericLatticeAnchorBase< ConcreteT, Value >::KeyTy = Value |
The concrete key type used by the storage uniquer.
This class is uniqued by its contents.
Definition at line 203 of file DataFlowFramework.h.
|
inlineexplicit |
Construct an instance of the lattice anchor using the provided value and the type ID of the concrete type.
Definition at line 210 of file DataFlowFramework.h.
|
inlinestatic |
Provide LLVM-style RTTI using type IDs.
Definition at line 233 of file DataFlowFramework.h.
References mlir::GenericLatticeAnchor::getTypeID().
|
inlinestatic |
Allocate space for a lattice anchor and construct it in-place.
Definition at line 223 of file DataFlowFramework.h.
References mlir::StorageUniquer::StorageAllocator::allocate().
|
inlinestatic |
Get a uniqued instance of this lattice anchor class with the given arguments.
Definition at line 217 of file DataFlowFramework.h.
References mlir::StorageUniquer::get().
|
inline |
Get the contents of the lattice anchor.
Definition at line 238 of file DataFlowFramework.h.
|
inline |
Two lattice anchors are equal if their values are equal.
Definition at line 230 of file DataFlowFramework.h.