LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::sandboxir::VectorType Class Reference

#include "llvm/SandboxIR/Type.h"

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

Public Member Functions

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 as defined by APFloat::isIEEE(), 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.
 
bool isIEEE () const
 Return whether the type is IEEE compatible, as defined by the eponymous method in APFloat.
 
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 VectorTypeget (Type *ElementType, ElementCount EC)
 
static VectorTypeget (Type *ElementType, unsigned NumElements, bool Scalable)
 
static VectorTypeget (Type *ElementType, const VectorType *Other)
 
static VectorTypegetInteger (VectorType *VTy)
 
static VectorTypegetExtendedElementVectorType (VectorType *VTy)
 
static VectorTypegetTruncatedElementVectorType (VectorType *VTy)
 
static VectorTypegetSubdividedVectorType (VectorType *VTy, int NumSubdivs)
 
static VectorTypegetHalfElementsVectorType (VectorType *VTy)
 
static VectorTypegetDoubleElementsVectorType (VectorType *VTy)
 
static bool isValidElementType (Type *ElemTy)
 
static bool classof (const Type *From)
 
- Static Public Member Functions inherited from llvm::sandboxir::Type
static TypegetInt64Ty (Context &Ctx)
 
static TypegetInt32Ty (Context &Ctx)
 
static TypegetInt16Ty (Context &Ctx)
 
static TypegetInt8Ty (Context &Ctx)
 
static TypegetInt1Ty (Context &Ctx)
 
static TypegetDoubleTy (Context &Ctx)
 
static TypegetFloatTy (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 325 of file Type.h.

Member Function Documentation

◆ classof()

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

Definition at line 350 of file Type.h.

References From.

◆ get() [1/3]

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

Definition at line 335 of file Type.h.

References get(), and llvm::Other.

◆ get() [2/3]

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

Definition at line 775 of file Type.cpp.

Referenced by get().

◆ get() [3/3]

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

Definition at line 328 of file Type.h.

References llvm::ElementCount::get(), and get().

◆ getDoubleElementsVectorType()

VectorType * VectorType::getDoubleElementsVectorType ( VectorType VTy)
static

◆ getElementCount()

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

Definition at line 339 of file Type.h.

References llvm::sandboxir::Type::LLVMTy.

◆ getElementType()

Type * VectorType::getElementType ( ) const

◆ getExtendedElementVectorType()

VectorType * VectorType::getExtendedElementVectorType ( VectorType VTy)
static

◆ getHalfElementsVectorType()

VectorType * VectorType::getHalfElementsVectorType ( VectorType VTy)
static

◆ getInteger()

VectorType * VectorType::getInteger ( VectorType VTy)
static

◆ getSubdividedVectorType()

VectorType * VectorType::getSubdividedVectorType ( VectorType VTy,
int  NumSubdivs 
)
static

◆ getTruncatedElementVectorType()

VectorType * VectorType::getTruncatedElementVectorType ( VectorType VTy)
static

◆ isValidElementType()

bool VectorType::isValidElementType ( Type ElemTy)
static

Definition at line 782 of file Type.cpp.

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


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