|
LLVM
3.7.0
|
FunctionType - Class to represent function types. More...
#include <DerivedTypes.h>
Public Types | |
| typedef Type::subtype_iterator | param_iterator |
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 } |
| Definitions of all of the base types for the Type system. More... | |
| typedef Type *const * | subtype_iterator |
| typedef std::reverse_iterator < subtype_iterator > | subtype_reverse_iterator |
Public Member Functions | |
| bool | isVarArg () const |
| Type * | getReturnType () const |
| param_iterator | param_begin () const |
| param_iterator | param_end () const |
| ArrayRef< Type * > | params () const |
| Type * | getParamType (unsigned i) const |
| Parameter type accessors. More... | |
| unsigned | getNumParams () const |
| getNumParams - Return the number of fixed parameters this function type requires. More... | |
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 |
| getTypeID - Return the type id for the type. More... | |
| 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 |
| isFloatingPointTy - Return true if this is one of the six floating point types More... | |
| const fltSemantics & | getFltSemantics () const |
| bool | isX86_MMXTy () const |
| isX86_MMXTy - Return true if this is X86 MMX. More... | |
| bool | isFPOrFPVectorTy () const |
| isFPOrFPVectorTy - Return true if this is a FP type or a vector of FP. More... | |
| 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 |
| isIntegerTy - True if this is an instance of IntegerType. More... | |
| bool | isIntegerTy (unsigned Bitwidth) const |
| isIntegerTy - Return true if this is an IntegerType of the given width. More... | |
| bool | isIntOrIntVectorTy () const |
| isIntOrIntVectorTy - Return true if this is an integer type or a vector of integer types. More... | |
| bool | isFunctionTy () const |
| isFunctionTy - True if this is an instance of FunctionType. More... | |
| bool | isStructTy () const |
| isStructTy - True if this is an instance of StructType. More... | |
| bool | isArrayTy () const |
| isArrayTy - True if this is an instance of ArrayType. More... | |
| bool | isPointerTy () const |
| isPointerTy - True if this is an instance of PointerType. More... | |
| bool | isPtrOrPtrVectorTy () const |
| isPtrOrPtrVectorTy - Return true if this is a pointer type or a vector of pointer types. More... | |
| bool | isVectorTy () const |
| isVectorTy - True if this is an instance of VectorType. More... | |
| bool | canLosslesslyBitCastTo (Type *Ty) const |
| canLosslesslyBitCastTo - Return true if this type could be converted with a lossless BitCast to type 'Ty'. More... | |
| bool | isEmptyTy () const |
| isEmptyTy - Return true if this type is empty, that is, it has no elements or all its elements are empty. More... | |
| bool | isFirstClassType () const |
| isFirstClassType - Return true if the type is "first class", meaning it is a valid type for a Value. More... | |
| bool | isSingleValueType () const |
| isSingleValueType - Return true if the type is a valid type for a register in codegen. More... | |
| bool | isAggregateType () const |
| isAggregateType - Return true if the type is an aggregate type. More... | |
| bool | isSized (SmallPtrSetImpl< const Type * > *Visited=nullptr) const |
| isSized - Return true if it makes sense to take the size of this type. More... | |
| unsigned | getPrimitiveSizeInBits () const LLVM_READONLY |
| getPrimitiveSizeInBits - Return the basic size of this type if it is a primitive type. More... | |
| unsigned | getScalarSizeInBits () const LLVM_READONLY |
| getScalarSizeInBits - If this is a vector type, return the getPrimitiveSizeInBits value for the element type. More... | |
| int | getFPMantissaWidth () const |
| getFPMantissaWidth - Return the width of the mantissa of this type. More... | |
| const Type * | getScalarType () const LLVM_READONLY |
| getScalarType - If this is a vector type, return the element type, otherwise return 'this'. More... | |
| Type * | getScalarType () LLVM_READONLY |
| getScalarType - If this is a vector type, return the element type, otherwise return this. More... | |
| subtype_iterator | subtype_begin () const |
| subtype_iterator | subtype_end () const |
| ArrayRef< Type * > | subtypes () const |
| subtype_reverse_iterator | subtype_rbegin () const |
| subtype_reverse_iterator | subtype_rend () const |
| Type * | getContainedType (unsigned i) const |
| getContainedType - This method is used to implement the type iterator (defined at the end of the file). More... | |
| unsigned | getNumContainedTypes () const |
| getNumContainedTypes - Return the number of types in the derived type. More... | |
| 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) |
| getPointerTo - Return a pointer to the current type. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::Type | |
| Type (LLVMContext &C, TypeID tid) | |
| ~Type ()=default | |
| void | setTypeID (TypeID ID) |
| unsigned | getSubclassData () const |
| void | setSubclassData (unsigned val) |
Protected Attributes inherited from llvm::Type | |
| unsigned | NumContainedTys |
| NumContainedTys - Keeps track of how many Type*'s there are in the ContainedTys list. More... | |
| Type *const * | ContainedTys |
| ContainedTys - A pointer to the array of Types contained by this Type. More... | |
FunctionType - Class to represent function types.
Definition at line 96 of file DerivedTypes.h.
Definition at line 123 of file DerivedTypes.h.
Methods for support type inquiry through isa, cast, and dyn_cast.
Definition at line 139 of file DerivedTypes.h.
References llvm::Type::FunctionTyID, and llvm::Type::getTypeID().
|
static |
FunctionType::get - This static method is the primary way of constructing a FunctionType.
Definition at line 361 of file Type.cpp.
References llvm::DenseSet< ValueT, ValueInfoT >::end(), llvm::DenseSet< ValueT, ValueInfoT >::find_as(), llvm::LLVMContextImpl::FunctionTypes, llvm::Type::getContext(), I, llvm::DenseSet< ValueT, ValueInfoT >::insert(), llvm::LLVMContext::pImpl, llvm::ArrayRef< T >::size(), and llvm::LLVMContextImpl::TypeAllocator.
Referenced by appendToGlobalArray(), llvm::CloneFunction(), llvm::createSanitizerCtorAndInitFunctions(), EnsureFunctionExists(), llvm::TypeBuilder< R(), cross >::get(), llvm::TypeBuilder< R(A1), cross >::get(), llvm::TypeBuilder< R(A1, A2), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4, A5), cross >::get(), llvm::TypeBuilder< R(...), cross >::get(), llvm::TypeBuilder< R(A1,...), cross >::get(), llvm::TypeBuilder< R(A1, A2,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4,...), cross >::get(), llvm::TypeBuilder< R(A1, A2, A3, A4, A5,...), cross >::get(), llvm::Module::getOrInsertFunction(), llvm::Intrinsic::getType(), InsertSafepointPoll(), insertUseHolderAfter(), LLVMFunctionType(), llvm::RemapInstruction(), ReplaceCallWith(), and UpgradeIntrinsicFunction1().
|
static |
FunctionType::get - Create a FunctionType taking no parameters.
Definition at line 381 of file Type.cpp.
References isVarArg(), and llvm::None.
|
inline |
getNumParams - Return the number of fixed parameters this function type requires.
This does not consider varargs.
Definition at line 136 of file DerivedTypes.h.
References llvm::Type::NumContainedTys.
Referenced by llvm::Function::arg_empty(), llvm::Function::arg_size(), checkStringCopyLibFuncSignature(), FindCXAAtExit(), getAllocationData(), llvm::TargetTransformInfoImplBase::getCallCost(), getMangledTypeStr(), llvm::Mangler::getNameWithPrefix(), llvm::isFreeCall(), isMemsetPattern16(), isTrigLibCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::RemapInstruction(), llvm::Interpreter::runFunction(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), UpgradeX86IntrinsicsWith8BitMask(), llvm::InlineAsm::Verify(), WriteInstruction(), and WriteTypeTable().
Parameter type accessors.
Definition at line 131 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by checkStringCopyLibFuncSignature(), llvm::AArch64TargetLowering::emitStoreConditional(), llvm::ARMTargetLowering::emitStoreConditional(), FindCXAAtExit(), getAllocationData(), getMangledTypeStr(), llvm::isFreeCall(), isMemsetPattern16(), isTrigLibCall(), llvm::SITargetLowering::LowerFormalArguments(), needsFPStubFromParams(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), UpgradeSSE41Function(), UpgradeX86IntrinsicsWith8BitMask(), whichFPParamVariantNeeded(), and WriteTypeTable().
|
inline |
Definition at line 121 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by checkStringCopyLibFuncSignature(), llvm::CloneFunction(), FindCXAAtExit(), getAllocationData(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getCallCost(), getMangledTypeStr(), llvm::Function::getReturnType(), llvm::isFreeCall(), isTrigLibCall(), llvm::CallInst::mutateFunctionType(), llvm::InvokeInst::mutateFunctionType(), needsFPReturnHelper(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), SimplifyCall(), llvm::InlineAsm::Verify(), and WriteTypeTable().
isValidArgumentType - Return true if the specified type is valid as an argument type.
Definition at line 394 of file Type.cpp.
References llvm::Type::isFirstClassType().
isValidReturnType - Return true if the specified type is valid as a return type.
Definition at line 387 of file Type.cpp.
References llvm::Type::isFunctionTy(), llvm::Type::isLabelTy(), and llvm::Type::isMetadataTy().
|
inline |
Definition at line 120 of file DerivedTypes.h.
References llvm::Type::getSubclassData().
Referenced by llvm::Interpreter::callFunction(), llvm::CloneFunction(), llvm::ComputeUsesVAFloatArgument(), get(), getMangledTypeStr(), llvm::Mangler::getNameWithPrefix(), llvm::InlineFunction(), isMemsetPattern16(), llvm::Function::isVarArg(), llvm::RemapInstruction(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::TargetLowering::CallLoweringInfo::setCallee(), llvm::InlineAsm::Verify(), WriteInstruction(), and WriteTypeTable().
|
inline |
Definition at line 124 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getCallCost(), and LLVMGetParamTypes().
|
inline |
Definition at line 125 of file DerivedTypes.h.
References llvm::Type::ContainedTys, and llvm::Type::NumContainedTys.
Referenced by llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getCallCost(), and LLVMGetParamTypes().
Definition at line 126 of file DerivedTypes.h.
References llvm::makeArrayRef().
Referenced by llvm::RemapInstruction().
1.8.6