MLIR
20.0.0git
|
An attribute representing a reference to a dense vector or tensor object containing strings. More...
#include "IR/AttributeDetail.h"
Classes | |
struct | KeyTy |
Public Member Functions | |
DenseStringElementsAttrStorage (ShapedType ty, ArrayRef< StringRef > 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< StringRef > data, bool isKnownSplat) |
Construct a key from a shaped type, StringRef data buffer, and a flag that signals if the data is already known to be a splat. More... | |
static llvm::hash_code | hashKey (const KeyTy &key) |
Hash the key for the storage. More... | |
static DenseStringElementsAttrStorage * | construct (AttributeStorageAllocator &allocator, KeyTy key) |
Construct a new storage instance. More... | |
Public Attributes | |
ArrayRef< StringRef > | data |
Public Attributes inherited from mlir::detail::DenseElementsAttributeStorage | |
ShapedType | type |
bool | isSplat |
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 containing strings.
Definition at line 205 of file AttributeDetail.h.
|
inline |
Definition at line 206 of file AttributeDetail.h.
Referenced by construct().
|
inlinestatic |
Construct a new storage instance.
Definition at line 278 of file AttributeDetail.h.
References mlir::StorageUniquer::StorageAllocator::allocate(), copy(), mlir::detail::DenseStringElementsAttrStorage::KeyTy::data, data, DenseStringElementsAttrStorage(), mlir::detail::DenseStringElementsAttrStorage::KeyTy::isSplat, and mlir::detail::DenseStringElementsAttrStorage::KeyTy::type.
|
inlinestatic |
Construct a key from a shaped type, StringRef 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 242 of file AttributeDetail.h.
References data, and mlir::polynomial::hash_value().
|
inlinestatic |
Hash the key for the storage.
Definition at line 272 of file AttributeDetail.h.
References mlir::detail::DenseStringElementsAttrStorage::KeyTy::hashCode, and mlir::detail::DenseStringElementsAttrStorage::KeyTy::type.
|
inline |
Compare this storage instance with the provided key.
Definition at line 229 of file AttributeDetail.h.
References mlir::detail::DenseStringElementsAttrStorage::KeyTy::data, data, mlir::detail::DenseElementsAttributeStorage::type, and mlir::detail::DenseStringElementsAttrStorage::KeyTy::type.
ArrayRef<StringRef> mlir::detail::DenseStringElementsAttrStorage::data |
Definition at line 317 of file AttributeDetail.h.
Referenced by construct(), getKey(), and operator==().