MLIR
20.0.0git
|
An attribute representing a reference to a dense vector or tensor object. More...
#include "IR/AttributeDetail.h"
Classes | |
struct | KeyTy |
Public Member Functions | |
DenseIntOrFPElementsAttrStorage (ShapedType ty, ArrayRef< char > data, bool isSplat=false) | |
bool | operator== (const KeyTy &key) const |
Compare this storage instance with the provided key. More... | |
Public Member Functions inherited from mlir::detail::DenseElementsAttributeStorage | |
DenseElementsAttributeStorage (ShapedType type, bool isSplat) | |
Public Member Functions inherited from mlir::AttributeStorage | |
const AbstractAttribute & | getAbstractAttribute () const |
Return the abstract descriptor for this attribute. More... | |
Static Public Member Functions | |
static KeyTy | getKey (ShapedType ty, ArrayRef< char > data, bool isKnownSplat) |
Construct a key from a shaped type, raw data buffer, and a flag that signals if the data is already known to be a splat. More... | |
static KeyTy | getKeyForBoolData (ShapedType ty, ArrayRef< char > data, size_t numElements) |
Construct a key with a set of boolean data. More... | |
static KeyTy | getKeyForSplatBoolData (ShapedType type, bool splatValue) |
Return a key to use for a boolean splat of the given value. More... | |
static llvm::hash_code | hashKey (const KeyTy &key) |
Hash the key for the storage. More... | |
static DenseIntOrFPElementsAttrStorage * | construct (AttributeStorageAllocator &allocator, KeyTy key) |
Construct a new storage instance. More... | |
Public Attributes | |
ArrayRef< char > | data |
Public Attributes inherited from mlir::detail::DenseElementsAttributeStorage | |
ShapedType | type |
bool | isSplat |
Static Public Attributes | |
static const char | kSplatTrue = ~0 |
The values used to denote a boolean splat value. More... | |
static const char | kSplatFalse = 0 |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::AttributeStorage | |
void | initializeAbstractAttribute (const AbstractAttribute &abstractAttr) |
Set the abstract attribute for this storage instance. More... | |
void | initialize (MLIRContext *context) |
Default initialization for attribute storage classes that require no additional initialization. More... | |
Protected Member Functions inherited from mlir::StorageUniquer::BaseStorage | |
BaseStorage ()=default | |
An attribute representing a reference to a dense vector or tensor object.
Definition at line 56 of file AttributeDetail.h.
|
inline |
Definition at line 57 of file AttributeDetail.h.
Referenced by construct().
|
inlinestatic |
Construct a new storage instance.
Definition at line 178 of file AttributeDetail.h.
References mlir::StorageUniquer::StorageAllocator::allocate(), copy(), mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::data, data, DenseIntOrFPElementsAttrStorage(), mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::isSplat, and mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::type.
|
inlinestatic |
Construct a key from a shaped type, raw data buffer, and a flag that signals if the data is already known to be a splat.
Callers to this function are expected to tag preknown splat values when possible, e.g. one element shapes.
Definition at line 88 of file AttributeDetail.h.
References data, mlir::detail::divideCeil(), mlir::detail::getDenseElementBitWidth(), getKeyForBoolData(), getKeyForSplatBoolData(), and mlir::polynomial::hash_value().
|
inlinestatic |
Construct a key with a set of boolean data.
Definition at line 133 of file AttributeDetail.h.
References data, getKeyForSplatBoolData(), mlir::polynomial::hash_value(), kSplatFalse, and kSplatTrue.
Referenced by getKey().
|
inlinestatic |
Return a key to use for a boolean splat of the given value.
Definition at line 165 of file AttributeDetail.h.
References mlir::polynomial::hash_value(), kSplatFalse, kSplatTrue, and mlir::detail::DenseElementsAttributeStorage::type.
Referenced by getKey(), and getKeyForBoolData().
|
inlinestatic |
Hash the key for the storage.
Definition at line 172 of file AttributeDetail.h.
References mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::hashCode, and mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::type.
|
inline |
Compare this storage instance with the provided key.
Definition at line 80 of file AttributeDetail.h.
References mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::data, data, mlir::detail::DenseElementsAttributeStorage::type, and mlir::detail::DenseIntOrFPElementsAttrStorage::KeyTy::type.
ArrayRef<char> mlir::detail::DenseIntOrFPElementsAttrStorage::data |
Definition at line 193 of file AttributeDetail.h.
Referenced by construct(), getKey(), getKeyForBoolData(), and operator==().
|
static |
Definition at line 200 of file AttributeDetail.h.
Referenced by getKeyForBoolData(), and getKeyForSplatBoolData().
|
static |
The values used to denote a boolean splat value.
Definition at line 199 of file AttributeDetail.h.
Referenced by getKeyForBoolData(), and getKeyForSplatBoolData().