class VectorType
Declaration
class VectorType : public Type { /* full declaration omitted */ };
Description
Base class of all SIMD vector types
Declared at: llvm/include/llvm/IR/DerivedTypes.h:389
Inherits from: Type
Member Variables
- private llvm::Type* ContainedType
- The element type of the vector.
- protected const unsigned int ElementQuantity
- The element quantity of this vector. The meaning of this value depends on the type of vector: - For FixedVectorType = <ElementQuantity x ty>, there are exactly ElementQuantity elements in this vector. - For ScalableVectorType = <vscale x ElementQuantity x ty>, there are vscale * ElementQuantity elements in this vector, where vscale is a runtime-constant integer greater than 0.
Inherited from Type:
- protected NumContainedTys = 0
- protected ContainedTys = nullptr
Method Overview
- protected VectorType(llvm::Type * ElType, unsigned int EQ, Type::TypeID TID)
- public VectorType(const llvm::VectorType &)
- public static bool classof(const llvm::Type * T)
- public static llvm::VectorType * get(llvm::Type * ElementType, llvm::ElementCount EC)
- public static llvm::VectorType * get(llvm::Type * ElementType, unsigned int NumElements, bool Scalable)
- public static llvm::VectorType * get(llvm::Type * ElementType, const llvm::VectorType * Other)
- public static llvm::VectorType * getDoubleElementsVectorType(llvm::VectorType * VTy)
- public inline llvm::ElementCount getElementCount() const
- public llvm::Type * getElementType() const
- public static llvm::VectorType * getExtendedElementVectorType(llvm::VectorType * VTy)
- public static llvm::VectorType * getHalfElementsVectorType(llvm::VectorType * VTy)
- public static llvm::VectorType * getInteger(llvm::VectorType * VTy)
- public static llvm::VectorType * getSubdividedVectorType(llvm::VectorType * VTy, int NumSubdivs)
- public static llvm::VectorType * getTruncatedElementVectorType(llvm::VectorType * VTy)
- public static bool isValidElementType(llvm::Type * ElemTy)
Inherited from Type:
- public canLosslesslyBitCastTo
- public dump
- public getArrayElementType
- public getArrayNumElements
- public getBFloatPtrTy
- public getBFloatTy
- public getContainedType
- public getContext
- public getDoublePtrTy
- public getDoubleTy
- public getExtendedType
- public getFP128PtrTy
- public getFP128Ty
- public getFPMantissaWidth
- public getFloatPtrTy
- public getFloatTy
- public getFloatingPointTy
- public getFltSemantics
- public getFunctionNumParams
- public getFunctionParamType
- public getHalfPtrTy
- public getHalfTy
- public getInt128Ty
- public getInt16PtrTy
- public getInt16Ty
- public getInt1PtrTy
- public getInt1Ty
- public getInt32PtrTy
- public getInt32Ty
- public getInt64PtrTy
- public getInt64Ty
- public getInt8PtrTy
- public getInt8Ty
- public getIntNPtrTy
- public getIntNTy
- public getIntegerBitWidth
- public getLabelTy
- public getMetadataTy
- public getNonOpaquePointerElementType
- public getNumContainedTypes
- public getPPC_FP128PtrTy
- public getPPC_FP128Ty
- public getPointerAddressSpace
- public getPointerElementType
- public getPointerTo
- public getPrimitiveSizeInBits
- public getPrimitiveType
- public getScalarSizeInBits
- public getScalarTy
- public getScalarType
- public getStructElementType
- public getStructName
- public getStructNumElements
- protected getSubclassData
- public getTokenTy
- public getTypeID
- public getVoidTy
- public getWithNewBitWidth
- public getWithNewType
- public getX86_AMXPtrTy
- public getX86_AMXTy
- public getX86_FP80PtrTy
- public getX86_FP80Ty
- public getX86_MMXPtrTy
- public getX86_MMXTy
- public is16bitFPTy
- public isAggregateType
- public isArrayTy
- public isBFloatTy
- public isDoubleTy
- public isEmptyTy
- public isFP128Ty
- public isFPOrFPVectorTy
- public isFirstClassType
- public isFloatTy
- public isFloatingPointTy
- public isFunctionTy
- public isFunctionVarArg
- public isHalfTy
- public isIEEE
- public isIntOrIntVectorTy
- public isIntOrIntVectorTy
- public isIntOrPtrTy
- public isIntegerTy
- public isIntegerTy
- public isLabelTy
- public isMetadataTy
- public isOpaquePointerTy
- public isPPC_FP128Ty
- public isPointerTy
- public isPtrOrPtrVectorTy
- public isSingleValueType
- public isSized
- public isStructTy
- public isTokenTy
- public isVectorTy
- public isVoidTy
- public isX86_AMXTy
- public isX86_FP80Ty
- public isX86_MMXTy
- public print
- protected setSubclassData
- public subtype_begin
- public subtype_end
- public subtype_rbegin
- public subtype_rend
- public subtypes
Methods
¶VectorType(llvm::Type* ElType,
unsigned int EQ,
Type::TypeID TID)
VectorType(llvm::Type* ElType,
unsigned int EQ,
Type::TypeID TID)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:416
Parameters
- llvm::Type* ElType
- unsigned int EQ
- Type::TypeID TID
¶VectorType(const llvm::VectorType&)
VectorType(const llvm::VectorType&)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:419
Parameters
- const llvm::VectorType&
¶static bool classof(const llvm::Type* T)
static bool classof(const llvm::Type* T)
Description
Methods for support type inquiry through isa, cast, and dyn_cast.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:518
Parameters
- const llvm::Type* T
¶static llvm::VectorType* get(
llvm::Type* ElementType,
llvm::ElementCount EC)
static llvm::VectorType* get(
llvm::Type* ElementType,
llvm::ElementCount EC)
Description
This static method is the primary way to construct an VectorType.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:425
Parameters
- llvm::Type* ElementType
- llvm::ElementCount EC
¶static llvm::VectorType* get(
llvm::Type* ElementType,
unsigned int NumElements,
bool Scalable)
static llvm::VectorType* get(
llvm::Type* ElementType,
unsigned int NumElements,
bool Scalable)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:427
Parameters
- llvm::Type* ElementType
- unsigned int NumElements
- bool Scalable
¶static llvm::VectorType* get(
llvm::Type* ElementType,
const llvm::VectorType* Other)
static llvm::VectorType* get(
llvm::Type* ElementType,
const llvm::VectorType* Other)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:433
Parameters
- llvm::Type* ElementType
- const llvm::VectorType* Other
¶static llvm::VectorType*
getDoubleElementsVectorType(llvm::VectorType* VTy)
static llvm::VectorType*
getDoubleElementsVectorType(llvm::VectorType* VTy)
Description
This static method returns a VectorType with twice as many elements as the input type and the same element type.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:503
Parameters
- llvm::VectorType* VTy
¶inline llvm::ElementCount getElementCount() const
inline llvm::ElementCount getElementCount() const
Description
Return an ElementCount instance to represent the (possibly scalable) number of elements in the vector.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:515
¶llvm::Type* getElementType() const
llvm::Type* getElementType() const
Declared at: llvm/include/llvm/IR/DerivedTypes.h:422
¶static llvm::VectorType*
getExtendedElementVectorType(
llvm::VectorType* VTy)
static llvm::VectorType*
getExtendedElementVectorType(
llvm::VectorType* VTy)
Description
This static method is like getInteger except that the element types are twice as wide as the elements in the input type.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:449
Parameters
- llvm::VectorType* VTy
¶static llvm::VectorType*
getHalfElementsVectorType(llvm::VectorType* VTy)
static llvm::VectorType*
getHalfElementsVectorType(llvm::VectorType* VTy)
Description
This static method returns a VectorType with half as many elements as the input type and the same element type.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:493
Parameters
- llvm::VectorType* VTy
¶static llvm::VectorType* getInteger(
llvm::VectorType* VTy)
static llvm::VectorType* getInteger(
llvm::VectorType* VTy)
Description
This static method gets a VectorType with the same number of elements as the input type, and the element type is an integer type of the same width as the input element type.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:440
Parameters
- llvm::VectorType* VTy
¶static llvm::VectorType* getSubdividedVectorType(
llvm::VectorType* VTy,
int NumSubdivs)
static llvm::VectorType* getSubdividedVectorType(
llvm::VectorType* VTy,
int NumSubdivs)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:483
Parameters
- llvm::VectorType* VTy
- int NumSubdivs
¶static llvm::VectorType*
getTruncatedElementVectorType(
llvm::VectorType* VTy)
static llvm::VectorType*
getTruncatedElementVectorType(
llvm::VectorType* VTy)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:458
Parameters
- llvm::VectorType* VTy
¶static bool isValidElementType(llvm::Type* ElemTy)
static bool isValidElementType(llvm::Type* ElemTy)
Description
Return true if the specified type is valid as a element type.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:511
Parameters
- llvm::Type* ElemTy