LLVM 20.0.0git
|
#include "llvm/SandboxIR/Type.h"
Public Member Functions | |
Type * | getElementType () 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. | |
Context & | getContext () 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 fltSemantics & | getFltSemantics () 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. | |
Type * | getScalarType () 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 () |
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::Type * | LLVMTy |
Context & | Ctx |
|
inlinestatic |
Definition at line 335 of file Type.h.
References get(), and llvm::Other.
|
static |
|
inlinestatic |
Definition at line 328 of file Type.h.
References llvm::ElementCount::get(), and get().
|
static |
Definition at line 106 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getDoubleElementsVectorType(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getDoubleElementsVectorType(), and llvm::sandboxir::ScalableVectorType::getDoubleElementsVectorType().
|
inline |
Definition at line 339 of file Type.h.
References llvm::sandboxir::Type::LLVMTy.
Type * VectorType::getElementType | ( | ) | const |
Definition at line 78 of file Type.cpp.
References llvm::VectorType::getElementType(), and llvm::sandboxir::Context::getType().
|
static |
Definition at line 85 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getExtendedElementVectorType(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getExtendedElementVectorType(), and llvm::sandboxir::ScalableVectorType::getExtendedElementVectorType().
|
static |
Definition at line 101 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getHalfElementsVectorType(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getHalfElementsVectorType(), and llvm::sandboxir::ScalableVectorType::getHalfElementsVectorType().
|
static |
Definition at line 81 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getInteger(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getInteger(), and llvm::sandboxir::ScalableVectorType::getInteger().
|
static |
Definition at line 95 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getSubdividedVectorType(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getSubdividedVectorType(), and llvm::sandboxir::ScalableVectorType::getSubdividedVectorType().
|
static |
Definition at line 90 of file Type.cpp.
References llvm::sandboxir::Type::getContext(), llvm::VectorType::getTruncatedElementVectorType(), llvm::sandboxir::Context::getType(), and llvm::sandboxir::Type::LLVMTy.
Referenced by llvm::sandboxir::FixedVectorType::getTruncatedElementVectorType(), and llvm::sandboxir::ScalableVectorType::getTruncatedElementVectorType().
Definition at line 782 of file Type.cpp.
Referenced by llvm::sandboxir::isValidMemSeed().