class VectorType
Declaration
class VectorType : public SequentialType { /* full declaration omitted */ };
Description
Class to represent vector types.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:432
Inherits from: SequentialType
Member Variables
Inherited from Type:
- protected NumContainedTys = 0
- protected ContainedTys = nullptr
Method Overview
- 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 = false)
- public unsigned int getBitWidth() const
- public static llvm::VectorType * getDoubleElementsVectorType(llvm::VectorType * VTy)
- public llvm::ElementCount getElementCount() 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 bool isScalable() const
- public static bool isValidElementType(llvm::Type * ElemTy)
Inherited from SequentialType:
Inherited from CompositeType:
Inherited from Type:
- public canLosslesslyBitCastTo
- public dump
- public getArrayElementType
- public getArrayNumElements
- public getContainedType
- public getContext
- public getDoublePtrTy
- public getDoubleTy
- public getExtendedType
- public getFP128PtrTy
- public getFP128Ty
- public getFPMantissaWidth
- public getFloatPtrTy
- public getFloatTy
- 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 getNumContainedTypes
- public getPPC_FP128PtrTy
- public getPPC_FP128Ty
- public getPointerAddressSpace
- public getPointerElementType
- public getPointerTo
- public getPrimitiveSizeInBits
- public getPrimitiveType
- public getScalarSizeInBits
- public getScalarTy
- public getScalarType
- public getSequentialElementType
- public getStructElementType
- public getStructName
- public getStructNumElements
- protected getSubclassData
- public getTokenTy
- public getTypeID
- public getVectorElementCount
- public getVectorElementType
- public getVectorIsScalable
- public getVectorNumElements
- public getVoidTy
- public getWithNewBitWidth
- public getX86_FP80PtrTy
- public getX86_FP80Ty
- public getX86_MMXPtrTy
- public getX86_MMXTy
- public isAggregateType
- public isArrayTy
- public isDoubleTy
- public isEmptyTy
- public isFP128Ty
- public isFPOrFPVectorTy
- public isFirstClassType
- public isFloatTy
- public isFloatingPointTy
- public isFunctionTy
- public isFunctionVarArg
- public isHalfTy
- public isIntOrIntVectorTy
- public isIntOrIntVectorTy
- public isIntOrPtrTy
- public isIntegerTy
- public isIntegerTy
- public isLabelTy
- public isMetadataTy
- public isPPC_FP128Ty
- public isPointerTy
- public isPtrOrPtrVectorTy
- protected isSequentialType
- public isSingleValueType
- public isSized
- public isStructTy
- public isTokenTy
- public isVectorTy
- public isVoidTy
- 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(const llvm::VectorType&)
VectorType(const llvm::VectorType&)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:455
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:561
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:459
Parameters
- llvm::Type* ElementType
- llvm::ElementCount EC
¶static llvm::VectorType* get(
llvm::Type* ElementType,
unsigned int NumElements,
bool Scalable = false)
static llvm::VectorType* get(
llvm::Type* ElementType,
unsigned int NumElements,
bool Scalable = false)
Declared at: llvm/include/llvm/IR/DerivedTypes.h:460
Parameters
- llvm::Type* ElementType
- unsigned int NumElements
- bool Scalable = false
¶unsigned int getBitWidth() const
unsigned int getBitWidth() const
Description
Return the minimum number of bits in the Vector type. Returns zero when the vector is a vector of pointers.
Declared at: llvm/include/llvm/IR/DerivedTypes.h:556
¶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:530
Parameters
- llvm::VectorType* VTy
¶llvm::ElementCount getElementCount() const
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:542
¶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:477
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:521
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:468
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:511
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:486
Parameters
- llvm::VectorType* VTy
¶bool isScalable() const
bool isScalable() const
Description
Returns whether or not this is a scalable vector (meaning the total element count is a multiple of the minimum).
Declared at: llvm/include/llvm/IR/DerivedTypes.h:550
¶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:538
Parameters
- llvm::Type* ElemTy