MLIR
20.0.0git
|
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
Public Types | |
using | Base = StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits... > |
Utility declarations for the concrete attribute class. More... | |
Public Types inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits > | |
using | Base = StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits... > |
Utility declarations for the concrete attribute class. More... | |
using | ImplType = StorageT |
using | HasTraitFn = bool(*)(TypeID) |
Public Member Functions | |
Type | getColumnType () const |
unsigned | getNumRows () const |
Returns the number of rows. More... | |
unsigned | getNumColumns () const |
Returns the number of columns. More... | |
unsigned | getNumElements () const |
Returns total number of elements (rows*columns). More... | |
Type | getElementType () const |
Returns the elements' type (i.e, single element type). More... | |
void | getExtensions (SPIRVType::ExtensionArrayRefVector &extensions, std::optional< StorageClass > storage=std::nullopt) |
void | getCapabilities (SPIRVType::CapabilityArrayRefVector &capabilities, std::optional< StorageClass > storage=std::nullopt) |
Public Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits > | |
ImplType * | getImpl () const |
Utility for easy access to the storage instance. More... | |
Static Public Member Functions | |
static MatrixType | get (Type columnType, uint32_t columnCount) |
static MatrixType | getChecked (function_ref< InFlightDiagnostic()> emitError, Type columnType, uint32_t columnCount) |
static LogicalResult | verifyInvariants (function_ref< InFlightDiagnostic()> emitError, Type columnType, uint32_t columnCount) |
static bool | isValidColumnType (Type columnType) |
Returns true if the matrix elements are vectors of float elements. More... | |
Static Public Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits > | |
static TypeID | getTypeID () |
Return a unique identifier for the concrete type. More... | |
template<typename T > | |
static bool | classof (T val) |
Provide an implementation of 'classof' that compares the type id of the provided value with that of the concrete type. More... | |
static detail::InterfaceMap | getInterfaceMap () |
Returns an interface map for the interfaces registered to this storage user. More... | |
static HasTraitFn | getHasTraitFn () |
Returns the function that returns true if the given Trait ID matches the IDs of any of the traits defined by the storage user. More... | |
static auto | getWalkImmediateSubElementsFn () |
Returns a function that walks immediate sub elements of a given instance of the storage user. More... | |
static auto | getReplaceImmediateSubElementsFn () |
Returns a function that replaces immediate sub elements of a given instance of the storage user. More... | |
template<typename... IfaceModels> | |
static void | attachInterface (MLIRContext &context) |
Attach the given models as implementations of the corresponding interfaces for the concrete storage user class. More... | |
template<typename... Args> | |
static ConcreteT | get (MLIRContext *ctx, Args &&...args) |
Get or create a new ConcreteT instance within the ctx. More... | |
template<typename... Args> | |
static ConcreteT | getChecked (const Location &loc, Args &&...args) |
Get or create a new ConcreteT instance within the ctx, defined at the given, potentially unknown, location. More... | |
template<typename... Args> | |
static ConcreteT | getChecked (function_ref< InFlightDiagnostic()> emitErrorFn, MLIRContext *ctx, Args... args) |
Get or create a new ConcreteT instance within the ctx. More... | |
static ConcreteT | getFromOpaquePointer (const void *ptr) |
Get an instance of the concrete type from a void pointer. More... | |
Static Public Attributes | |
static constexpr StringLiteral | name = "spirv.matrix" |
Additional Inherited Members | |
Protected Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits > | |
template<typename... Args> | |
LogicalResult | mutate (Args &&...args) |
Mutate the current storage instance. More... | |
Static Protected Member Functions inherited from mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits > | |
template<typename... Args> | |
static LogicalResult | verifyInvariants (Args... args) |
Default implementation that just returns success. More... | |
Definition at line 424 of file SPIRVTypes.h.
using mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::Base = StorageUserBase<ConcreteT, BaseT, StorageT, UniquerT, Traits...> |
Utility declarations for the concrete attribute class.
Definition at line 100 of file StorageUniquerSupport.h.
|
static |
Definition at line 1099 of file SPIRVTypes.cpp.
References mlir::get(), and mlir::Type::getContext().
Referenced by parseMatrixType().
void MatrixType::getCapabilities | ( | SPIRVType::CapabilityArrayRefVector & | capabilities, |
std::optional< StorageClass > | storage = std::nullopt |
||
) |
Definition at line 1159 of file SPIRVTypes.cpp.
References getColumnType().
|
static |
Definition at line 1103 of file SPIRVTypes.cpp.
References mlir::emitError(), and mlir::Type::getContext().
Type MatrixType::getColumnType | ( | ) | const |
Definition at line 1138 of file SPIRVTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl().
Referenced by getCapabilities(), mlir::spirv::CompositeType::getElementType(), getExtensions(), and print().
Type MatrixType::getElementType | ( | ) | const |
Returns the elements' type (i.e, single element type).
Definition at line 1140 of file SPIRVTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl().
void MatrixType::getExtensions | ( | SPIRVType::ExtensionArrayRefVector & | extensions, |
std::optional< StorageClass > | storage = std::nullopt |
||
) |
Definition at line 1154 of file SPIRVTypes.cpp.
References getColumnType().
unsigned MatrixType::getNumColumns | ( | ) | const |
Returns the number of columns.
Definition at line 1144 of file SPIRVTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl().
Referenced by print().
unsigned MatrixType::getNumElements | ( | ) | const |
Returns total number of elements (rows*columns).
Definition at line 1150 of file SPIRVTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl(), and getNumRows().
unsigned MatrixType::getNumRows | ( | ) | const |
Returns the number of rows.
Definition at line 1146 of file SPIRVTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl().
Referenced by getNumElements().
|
static |
Returns true if the matrix elements are vectors of float elements.
Definition at line 1130 of file SPIRVTypes.cpp.
Referenced by verifyInvariants().
|
static |
The underlying vectors (columns) must be of size 2, 3, or 4
Definition at line 1110 of file SPIRVTypes.cpp.
References mlir::emitError(), and isValidColumnType().
|
staticconstexpr |
Definition at line 429 of file SPIRVTypes.h.