LLVM API Documentation
#include <DerivedTypes.h>
Public Member Functions | |
unsigned | getNumElements () const |
Return the number of elements in the Vector type. More... | |
unsigned | getBitWidth () const |
Return the number of bits in the Vector type. Returns zero when the vector is a vector of pointers. More... | |
Public Member Functions inherited from llvm::SequentialType | |
Type * | getElementType () const |
Public Member Functions inherited from llvm::CompositeType | |
Type * | getTypeAtIndex (const Value *V) |
Type * | getTypeAtIndex (unsigned Idx) |
bool | indexValid (const Value *V) const |
bool | indexValid (unsigned Idx) const |
Public Member Functions inherited from llvm::Type | |
void | print (raw_ostream &O) const |
void | dump () const |
LLVMContext & | getContext () const |
getContext - Return the LLVMContext in which this type was uniqued. More... | |
TypeID | getTypeID () const |
bool | isVoidTy () const |
isVoidTy - Return true if this is 'void'. More... | |
bool | isHalfTy () const |
isHalfTy - Return true if this is 'half', a 16-bit IEEE fp type. More... | |
bool | isFloatTy () const |
isFloatTy - Return true if this is 'float', a 32-bit IEEE fp type. More... | |
bool | isDoubleTy () const |
isDoubleTy - Return true if this is 'double', a 64-bit IEEE fp type. More... | |
bool | isX86_FP80Ty () const |
isX86_FP80Ty - Return true if this is x86 long double. More... | |
bool | isFP128Ty () const |
isFP128Ty - Return true if this is 'fp128'. More... | |
bool | isPPC_FP128Ty () const |
isPPC_FP128Ty - Return true if this is powerpc long double. More... | |
bool | isFloatingPointTy () const |
const fltSemantics & | getFltSemantics () const |
bool | isX86_MMXTy () const |
isX86_MMXTy - Return true if this is X86 MMX. More... | |
bool | isFPOrFPVectorTy () const |
bool | isLabelTy () const |
isLabelTy - Return true if this is 'label'. More... | |
bool | isMetadataTy () const |
isMetadataTy - Return true if this is 'metadata'. More... | |
bool | isIntegerTy () const |
bool | isIntegerTy (unsigned Bitwidth) const |
isIntegerTy - Return true if this is an IntegerType of the given width. More... | |
bool | isIntOrIntVectorTy () const |
bool | isFunctionTy () const |
bool | isStructTy () const |
bool | isArrayTy () const |
bool | isPointerTy () const |
bool | isPtrOrPtrVectorTy () const |
bool | isVectorTy () const |
bool | canLosslesslyBitCastTo (Type *Ty) const |
Determine if this type could be losslessly bitcast to Ty. More... | |
bool | isEmptyTy () const |
bool | isPrimitiveType () const |
bool | isDerivedType () const |
bool | isFirstClassType () const |
bool | isSingleValueType () const |
bool | isAggregateType () const |
bool | isSized () const |
unsigned | getPrimitiveSizeInBits () const |
unsigned | getScalarSizeInBits () |
int | getFPMantissaWidth () const |
const Type * | getScalarType () const |
Type * | getScalarType () |
subtype_iterator | subtype_begin () const |
subtype_iterator | subtype_end () const |
subtype_reverse_iterator | subtype_rbegin () const |
subtype_reverse_iterator | subtype_rend () const |
Type * | getContainedType (unsigned i) const |
unsigned | getNumContainedTypes () const |
unsigned | getIntegerBitWidth () const |
Type * | getFunctionParamType (unsigned i) const |
unsigned | getFunctionNumParams () const |
bool | isFunctionVarArg () const |
StringRef | getStructName () const |
unsigned | getStructNumElements () const |
Type * | getStructElementType (unsigned N) const |
Type * | getSequentialElementType () const |
uint64_t | getArrayNumElements () const |
Type * | getArrayElementType () const |
unsigned | getVectorNumElements () const |
Type * | getVectorElementType () const |
Type * | getPointerElementType () const |
unsigned | getPointerAddressSpace () const |
Get the address space of this pointer or pointer vector type. More... | |
PointerType * | getPointerTo (unsigned AddrSpace=0) |
Additional Inherited Members | |
Public Types inherited from llvm::Type | |
enum | TypeID { VoidTyID = 0, HalfTyID, FloatTyID, DoubleTyID, X86_FP80TyID, FP128TyID, PPC_FP128TyID, LabelTyID, MetadataTyID, X86_MMXTyID, IntegerTyID, FunctionTyID, StructTyID, ArrayTyID, PointerTyID, VectorTyID, NumTypeIDs, LastPrimitiveTyID = X86_MMXTyID, FirstDerivedTyID = IntegerTyID } |
typedef Type *const * | subtype_iterator |
typedef std::reverse_iterator < subtype_iterator > | subtype_reverse_iterator |
Protected Member Functions inherited from llvm::SequentialType | |
SequentialType (TypeID TID, Type *ElType) | |
Protected Member Functions inherited from llvm::CompositeType | |
CompositeType (LLVMContext &C, TypeID tid) | |
Protected Member Functions inherited from llvm::Type | |
Type (LLVMContext &C, TypeID tid) | |
~Type () | |
void | setTypeID (TypeID ID) |
unsigned | getSubclassData () const |
void | setSubclassData (unsigned val) |
Protected Attributes inherited from llvm::Type | |
unsigned | NumContainedTys |
Type *const * | ContainedTys |
VectorType - Class to represent vector types.
Definition at line 358 of file DerivedTypes.h.
Methods for support type inquiry through isa, cast, and dyn_cast.
Definition at line 417 of file DerivedTypes.h.
References llvm::Type::getTypeID(), and llvm::Type::VectorTyID.
|
static |
VectorType::get - This static method is the primary way to construct an VectorType.
Definition at line 706 of file Type.cpp.
References llvm::Type::getContext(), isValidElementType(), llvm::LLVMContext::pImpl, llvm::LLVMContextImpl::TypeAllocator, and llvm::LLVMContextImpl::VectorTypes.
Referenced by BuildNew(), llvm::ConstantFoldCompareInstruction(), llvm::ConstantFoldShuffleVectorInstruction(), llvm::IRBuilder< true, TargetFolder >::CreateVectorSplat(), DecodeFixedType(), FoldBitCast(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::ConstantVector::get(), llvm::ConstantDataVector::get(), getExtendedElementVectorType(), llvm::ConstantExpr::getFCmp(), llvm::GetElementPtrInst::getGEPReturnType(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getICmp(), getInteger(), llvm::DataLayout::getIntPtrType(), llvm::ConstantExpr::getShuffleVector(), getTruncatedElementVectorType(), llvm::EVT::getTypeForEVT(), LLVMVectorType(), LowerFSINCOS(), llvm::CmpInst::makeCmpResultType(), OptimizeIntToFloatBitCast(), OptimizeVectorResize(), llvm::UpgradeIntrinsicCall(), UpgradeSSE41Function(), llvm::InstCombiner::visitIntToPtr(), and llvm::InstCombiner::visitPtrToInt().
|
inline |
Return the number of bits in the Vector type. Returns zero when the vector is a vector of pointers.
Definition at line 412 of file DerivedTypes.h.
|
inlinestatic |
VectorType::getExtendedElementVectorType - This static method is like getInteger except that the element types are twice as wide as the elements in the input type.
Definition at line 385 of file DerivedTypes.h.
References llvm::IntegerType::get(), get(), llvm::Type::getContext(), llvm::SequentialType::getElementType(), getNumElements(), and llvm::Type::getPrimitiveSizeInBits().
Referenced by DecodeFixedType().
|
inlinestatic |
VectorType::getInteger - 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.
Definition at line 374 of file DerivedTypes.h.
References llvm::IntegerType::get(), get(), llvm::Type::getContext(), llvm::SequentialType::getElementType(), getNumElements(), and llvm::Type::getPrimitiveSizeInBits().
|
inline |
Return the number of elements in the Vector type.
Definition at line 408 of file DerivedTypes.h.
Referenced by llvm::SelectInst::areInvalidOperands(), BitCastConstantVector(), emitGlobalConstantVector(), extractVector(), FindScalarElement(), FoldBitCast(), llvm::Constant::getAllOnesValue(), llvm::ExecutionEngine::getConstantValue(), llvm::EVT::getEVT(), getExtendedElementVectorType(), llvm::ConstantInt::getFalse(), getInteger(), llvm::ConstantInt::getTrue(), getTruncatedElementVectorType(), llvm::DataLayout::getTypeSizeInBits(), llvm::SelectionDAGBuilder::getValueImpl(), llvm::TargetLoweringBase::getValueType(), llvm::MVT::getVT(), insertVector(), llvm::ShuffleVectorInst::isValidOperands(), isVectorPromotionViableForSlice(), isZero(), llvm::ExecutionEngine::LoadValueFromMemory(), OptimizeIntegerToVectorInsertions(), OptimizeVectorResize(), llvm::TypePrinting::print(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitInsertElementInst(), and WriteTypeTable().
|
inlinestatic |
VectorType::getTruncatedElementVectorType - This static method is like getInteger except that the element types are half as wide as the elements in the input type.
Definition at line 395 of file DerivedTypes.h.
References llvm::IntegerType::get(), get(), llvm::Type::getContext(), llvm::SequentialType::getElementType(), getNumElements(), and llvm::Type::getPrimitiveSizeInBits().
Referenced by DecodeFixedType().
isValidElementType - Return true if the specified type is valid as a element type.
Definition at line 721 of file Type.cpp.
References llvm::Type::isFloatingPointTy(), llvm::Type::isIntegerTy(), and llvm::Type::isPointerTy().
Referenced by get().