LLVM API Documentation
#include <DerivedTypes.h>


Public Types | |
| typedef Type::subtype_iterator | param_iterator |
Public Member Functions | |
| bool | isVarArg () const |
| Type * | getReturnType () const |
| param_iterator | param_begin () const |
| param_iterator | param_end () const |
| Type * | getParamType (unsigned i) const |
| Parameter type accessors. | |
| unsigned | getNumParams () const |
Static Public Member Functions | |
| static FunctionType * | get (Type *Result, ArrayRef< Type * > Params, bool isVarArg) |
| static FunctionType * | get (Type *Result, bool isVarArg) |
| static bool | isValidReturnType (Type *RetTy) |
| static bool | isValidArgumentType (Type *ArgTy) |
| static bool | classof (const Type *T) |
| Methods for support type inquiry through isa, cast, and dyn_cast. | |
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 136 of file DerivedTypes.h.
References llvm::Type::FunctionTyID, and llvm::Type::getTypeID().
| FunctionType * FunctionType::get | ( | Type * | Result, |
| ArrayRef< Type * > | Params, | ||
| bool | isVarArg | ||
| ) | [static] |
FunctionType::get - This static method is the primary way of constructing a FunctionType.
Definition at line 361 of file Type.cpp.
References llvm::LLVMContextImpl::FunctionTypes, llvm::Type::getContext(), I, llvm::LLVMContext::pImpl, llvm::ArrayRef< T >::size(), and llvm::LLVMContextImpl::TypeAllocator.
Referenced by appendToGlobalArray(), llvm::CloneFunction(), EnsureFunctionExists(), GenerateARCBBEntranceAnnotation(), GenerateARCBBTerminatorAnnotation(), 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(), getType(), inlineAsmOut(), InstallGlobalCtors(), LLVMFunctionType(), ReplaceCallWith(), llvm::JIT::runFunction(), and UpgradeIntrinsicFunction1().
| FunctionType * FunctionType::get | ( | Type * | Result, |
| bool | isVarArg | ||
| ) | [static] |
FunctionType::get - Create a FunctionType taking no parameters.
Definition at line 382 of file Type.cpp.
References isVarArg(), and llvm::None.
| unsigned llvm::FunctionType::getNumParams | ( | ) | const [inline] |
getNumParams - Return the number of fixed parameters this function type requires. This does not consider varargs.
Definition at line 133 of file DerivedTypes.h.
References llvm::Type::NumContainedTys.
Referenced by llvm::Function::arg_empty(), llvm::Function::arg_size(), FindCXAAtExit(), llvm::SimplifyFortifiedLibCalls::fold(), getAllocationData(), llvm::Mangler::getNameWithPrefix(), llvm::isFreeCall(), llvm::HexagonTargetLowering::LowerCall(), llvm::TypePrinting::print(), llvm::AssemblyWriter::printFunction(), profileFunction(), llvm::MCJIT::runFunction(), llvm::Interpreter::runFunction(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::InlineAsm::Verify(), and WriteTypeTable().
Parameter type accessors.
Definition at line 128 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by FindCXAAtExit(), llvm::SimplifyFortifiedLibCalls::fold(), getAllocationData(), llvm::isFreeCall(), llvm::SITargetLowering::LowerFormalArguments(), needsFPStubFromParams(), llvm::AssemblyWriter::printFunction(), profileFunction(), llvm::MCJIT::runFunction(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), UpgradeSSE41Function(), whichFPParamVariantNeeded(), and WriteTypeTable().
| Type* llvm::FunctionType::getReturnType | ( | ) | const [inline] |
Definition at line 121 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by llvm::CloneFunction(), FindCXAAtExit(), llvm::SimplifyFortifiedLibCalls::fold(), getAllocationData(), llvm::Function::getReturnType(), llvm::isFreeCall(), llvm::TypePrinting::print(), profileFunction(), llvm::MCJIT::runFunction(), llvm::JIT::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 395 of file Type.cpp.
References llvm::Type::isFirstClassType().
isValidReturnType - Return true if the specified type is valid as a return type.
Definition at line 388 of file Type.cpp.
References llvm::Type::isFunctionTy(), llvm::Type::isLabelTy(), and llvm::Type::isMetadataTy().
| bool llvm::FunctionType::isVarArg | ( | ) | const [inline] |
Definition at line 120 of file DerivedTypes.h.
References llvm::Type::getSubclassData().
Referenced by llvm::Interpreter::callFunction(), llvm::CloneFunction(), llvm::ComputeUsesVAFloatArgument(), get(), llvm::Mangler::getNameWithPrefix(), llvm::InlineFunction(), llvm::Function::isVarArg(), llvm::TypePrinting::print(), llvm::AssemblyWriter::printFunction(), profileFunction(), llvm::MCJIT::runFunction(), llvm::JIT::runFunction(), llvm::InlineAsm::Verify(), and WriteTypeTable().
| param_iterator llvm::FunctionType::param_begin | ( | ) | const [inline] |
Definition at line 124 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by LLVMGetParamTypes(), and llvm::TypePrinting::print().
| param_iterator llvm::FunctionType::param_end | ( | ) | const [inline] |
Definition at line 125 of file DerivedTypes.h.
References llvm::Type::ContainedTys, and llvm::Type::NumContainedTys.
Referenced by LLVMGetParamTypes(), and llvm::TypePrinting::print().