MLIR
15.0.0git
|
LLVM dialect fixed vector type, represents a sequence of elements of known length that can be processed as one. More...
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
Public Member Functions | |
Type | getElementType () |
Returns the element type of the vector. More... | |
unsigned | getNumElements () |
Returns the number of elements in the fixed vector. More... | |
Static Public Member Functions | |
static LLVMFixedVectorType | get (Type elementType, unsigned numElements) |
Gets or creates a fixed vector type containing numElements of elementType in the same context as elementType . More... | |
static LLVMFixedVectorType | getChecked (function_ref< InFlightDiagnostic()> emitError, Type elementType, unsigned numElements) |
static bool | isValidElementType (Type type) |
Checks if the given type can be used in a vector type. More... | |
static LogicalResult | verify (function_ref< InFlightDiagnostic()> emitError, Type elementType, unsigned numElements) |
Verifies that the type about to be constructed is well-formed. More... | |
![]() | |
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... | |
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... | |
Additional Inherited Members | |
![]() | |
using | Base = StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits... > |
Utility declarations for the concrete attribute class. More... | |
using | ImplType = StorageT |
using | HasTraitFn = bool(*)(TypeID) |
![]() | |
template<typename... Args> | |
LogicalResult | mutate (Args &&...args) |
Mutate the current storage instance. More... | |
ImplType * | getImpl () const |
Utility for easy access to the storage instance. More... | |
![]() | |
template<typename... Args> | |
static LogicalResult | verify (Args... args) |
Default implementation that just returns success. More... | |
LLVM dialect fixed vector type, represents a sequence of elements of known length that can be processed as one.
Definition at line 369 of file LLVMTypes.h.
|
static |
Gets or creates a fixed vector type containing numElements
of elementType
in the same context as elementType
.
Definition at line 610 of file LLVMTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::get(), and mlir::Type::getContext().
Referenced by mlir::LLVM::getFixedVectorType(), and mlir::LLVM::getVectorType().
|
static |
Definition at line 617 of file LLVMTypes.cpp.
References mlir::emitError(), mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getChecked(), and mlir::Type::getContext().
Type LLVMFixedVectorType::getElementType | ( | ) |
Returns the element type of the vector.
Definition at line 624 of file LLVMTypes.cpp.
Referenced by mlir::LLVM::getPrimitiveTypeSizeInBits(), and mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType().
unsigned LLVMFixedVectorType::getNumElements | ( | ) |
Returns the number of elements in the fixed vector.
Definition at line 628 of file LLVMTypes.cpp.
References mlir::detail::StorageUserBase< ConcreteT, BaseT, StorageT, UniquerT, Traits >::getImpl().
Referenced by mlir::LLVM::getPrimitiveTypeSizeInBits(), mlir::LLVM::getVectorNumElements(), and mlir::LLVM::detail::TypeToLLVMIRTranslatorImpl::translateType().
|
static |
Checks if the given type can be used in a vector type.
This type supports only a subset of LLVM dialect types that don't have a built-in counter-part, e.g., pointers.
Definition at line 632 of file LLVMTypes.cpp.
References mlir::Type::isa().
Referenced by mlir::LLVM::getFixedVectorType(), and mlir::LLVM::getVectorType().
|
static |
Verifies that the type about to be constructed is well-formed.
Definition at line 637 of file LLVMTypes.cpp.
References mlir::emitError().