LLVM 22.0.0git
llvm::sandboxir::VectorType Class Reference

#include "llvm/SandboxIR/Type.h"

Inheritance diagram for llvm::sandboxir::VectorType:
[legend]

Public Member Functions

LLVM_ABI TypegetElementType () const
ElementCount getElementCount () const
Public Member Functions inherited from llvm::sandboxir::Type
void print (raw_ostream &OS, bool IsForDebug=false, bool NoDetails=false) const
 Print the current type.
ContextgetContext () const
bool isVoidTy () const
 Return true if this is 'void'.
bool isHalfTy () const
 Return true if this is 'half', a 16-bit IEEE fp type.
bool isBFloatTy () const
 Return true if this is 'bfloat', a 16-bit bfloat type.
bool is16bitFPTy () const
 Return true if this is a 16-bit float type.
bool isFloatTy () const
 Return true if this is 'float', a 32-bit IEEE fp type.
bool isDoubleTy () const
 Return true if this is 'double', a 64-bit IEEE fp type.
bool isX86_FP80Ty () const
 Return true if this is x86 long double.
bool isFP128Ty () const
 Return true if this is 'fp128'.
bool isPPC_FP128Ty () const
 Return true if this is powerpc long double.
bool isIEEELikeFPTy () const
 Return true if this is a well-behaved IEEE-like type, which has a IEEE compatible layout, and does not have non-IEEE values, such as x86_fp80's unnormal values.
bool isFloatingPointTy () const
 Return true if this is one of the floating-point types.
bool isMultiUnitFPType () const
 Returns true if this is a floating-point type that is an unevaluated sum of multiple floating-point units.
const fltSemanticsgetFltSemantics () const
bool isX86_AMXTy () const
 Return true if this is X86 AMX.
bool isTargetExtTy () const
 Return true if this is a target extension type.
bool isScalableTargetExtTy () const
 Return true if this is a target extension type with a scalable layout.
bool isScalableTy () const
 Return true if this is a type whose size is a known multiple of vscale.
bool isFPOrFPVectorTy () const
 Return true if this is a FP type or a vector of FP.
bool isLabelTy () const
 Return true if this is 'label'.
bool isMetadataTy () const
 Return true if this is 'metadata'.
bool isTokenTy () const
 Return true if this is 'token'.
bool isIntegerTy () const
 True if this is an instance of IntegerType.
bool isIntegerTy (unsigned Bitwidth) const
 Return true if this is an IntegerType of the given width.
bool isIntOrIntVectorTy () const
 Return true if this is an integer type or a vector of integer types.
bool isIntOrIntVectorTy (unsigned BitWidth) const
 Return true if this is an integer type or a vector of integer types of the given width.
bool isIntOrPtrTy () const
 Return true if this is an integer type or a pointer type.
bool isFunctionTy () const
 True if this is an instance of FunctionType.
bool isStructTy () const
 True if this is an instance of StructType.
bool isArrayTy () const
 True if this is an instance of ArrayType.
bool isPointerTy () const
 True if this is an instance of PointerType.
bool isPtrOrPtrVectorTy () const
 Return true if this is a pointer type or a vector of pointer types.
bool isVectorTy () const
 True if this is an instance of VectorType.
bool canLosslesslyBitCastTo (Type *Ty) const
 Return true if this type could be converted with a lossless BitCast to type 'Ty'.
bool isEmptyTy () const
 Return true if this type is empty, that is, it has no elements or all of its elements are empty.
bool isFirstClassType () const
 Return true if the type is "first class", meaning it is a valid type for a Value.
bool isSingleValueType () const
 Return true if the type is a valid type for a register in codegen.
bool isAggregateType () const
 Return true if the type is an aggregate type.
bool isSized (SmallPtrSetImpl< Type * > *Visited=nullptr) const
 Return true if it makes sense to take the size of this type.
TypeSize getPrimitiveSizeInBits () const
 Return the basic size of this type if it is a primitive type.
unsigned getScalarSizeInBits () const
 If this is a vector type, return the getPrimitiveSizeInBits value for the element type.
int getFPMantissaWidth () const
 Return the width of the mantissa of this type.
LLVM_ABI TypegetScalarType () const
 If this is a vector type, return the element type, otherwise return 'this'.
unsigned getPointerAddressSpace () const
 Get the address space of this pointer or pointer vector type.
void dumpOS (raw_ostream &OS)
LLVM_DUMP_METHOD void dump ()

Static Public Member Functions

static LLVM_ABI VectorTypeget (Type *ElementType, ElementCount EC)
static VectorTypeget (Type *ElementType, unsigned NumElements, bool Scalable)
static VectorTypeget (Type *ElementType, const VectorType *Other)
static LLVM_ABI VectorTypegetInteger (VectorType *VTy)
static LLVM_ABI VectorTypegetExtendedElementVectorType (VectorType *VTy)
static LLVM_ABI VectorTypegetTruncatedElementVectorType (VectorType *VTy)
static LLVM_ABI VectorTypegetSubdividedVectorType (VectorType *VTy, int NumSubdivs)
static LLVM_ABI VectorTypegetHalfElementsVectorType (VectorType *VTy)
static LLVM_ABI VectorTypegetDoubleElementsVectorType (VectorType *VTy)
static LLVM_ABI bool isValidElementType (Type *ElemTy)
static bool classof (const Type *From)
Static Public Member Functions inherited from llvm::sandboxir::Type
static LLVM_ABI TypegetInt64Ty (Context &Ctx)
static LLVM_ABI TypegetInt32Ty (Context &Ctx)
static LLVM_ABI TypegetInt16Ty (Context &Ctx)
static LLVM_ABI TypegetInt8Ty (Context &Ctx)
static LLVM_ABI TypegetInt1Ty (Context &Ctx)
static LLVM_ABI TypegetDoubleTy (Context &Ctx)
static LLVM_ABI TypegetFloatTy (Context &Ctx)
static LLVM_ABI TypegetHalfTy (Context &Ctx)

Additional Inherited Members

Protected Member Functions inherited from llvm::sandboxir::Type
 Type (llvm::Type *LLVMTy, Context &Ctx)
 ~Type ()=default
Protected Attributes inherited from llvm::sandboxir::Type
llvm::TypeLLVMTy
ContextCtx

Detailed Description

Definition at line 327 of file Type.h.

Member Function Documentation

◆ classof()

bool llvm::sandboxir::VectorType::classof ( const Type * From)
inlinestatic

Definition at line 353 of file Type.h.

References llvm::isa(), llvm::sandboxir::Type::LLVMTy, and llvm::sandboxir::Type::Type().

◆ get() [1/3]

VectorType * llvm::sandboxir::VectorType::get ( Type * ElementType,
const VectorType * Other )
inlinestatic

◆ get() [2/3]

VectorType * VectorType::get ( Type * ElementType,
ElementCount EC )
static

Definition at line 783 of file Type.cpp.

Referenced by get(), and get().

◆ get() [3/3]

VectorType * llvm::sandboxir::VectorType::get ( Type * ElementType,
unsigned NumElements,
bool Scalable )
inlinestatic

◆ getDoubleElementsVectorType()

◆ getElementCount()

ElementCount llvm::sandboxir::VectorType::getElementCount ( ) const
inline

Definition at line 341 of file Type.h.

References llvm::cast(), and llvm::sandboxir::Type::LLVMTy.

◆ getElementType()

Type * VectorType::getElementType ( ) const

◆ getExtendedElementVectorType()

◆ getHalfElementsVectorType()

◆ getInteger()

◆ getSubdividedVectorType()

◆ getTruncatedElementVectorType()

◆ isValidElementType()

bool VectorType::isValidElementType ( Type * ElemTy)
static

Definition at line 790 of file Type.cpp.

Referenced by llvm::sandboxir::isValidMemSeed().


The documentation for this class was generated from the following files: