LLVM API Documentation
#include <DerivedTypes.h>
Public Types | |
| typedef Type::subtype_iterator | param_iterator |
Public Member Functions | |
| bool | isVarArg () const |
| const Type * | getReturnType () const |
| param_iterator | param_begin () const |
| param_iterator | param_end () const |
| const Type * | getParamType (unsigned i) const |
| unsigned | getNumParams () const |
| virtual void | refineAbstractType (const DerivedType *OldTy, const Type *NewTy) |
| virtual void | typeBecameConcrete (const DerivedType *AbsTy) |
Static Public Member Functions | |
| static FunctionType * | get (const Type *Result, const std::vector< const Type * > &Params, bool isVarArg) |
| static bool | isValidReturnType (const Type *RetTy) |
| static bool | classof (const FunctionType *) |
| static bool | classof (const Type *T) |
| Methods for support type inquiry through isa, cast, and dyn_cast:. | |
Friends | |
| class | TypeMap< FunctionValType, FunctionType > |
Definition at line 139 of file DerivedTypes.h.
Definition at line 165 of file DerivedTypes.h.
| FunctionType * FunctionType::get | ( | const Type * | Result, | |
| const std::vector< const Type * > & | Params, | |||
| bool | isVarArg | |||
| ) | [static] |
FunctionType::get - This static method is the primary way of constructing a FunctionType.
| Result | The result type |
| Params | The types of the parameters |
| isVarArg | Whether this is a variable argument length function |
Definition at line 1104 of file Type.cpp.
Referenced by llvm::CloneFunction(), llvm::Module::getOrInsertFunction(), llvm::Intrinsic::getType(), and llvm::JIT::runFunction().
| bool FunctionType::isValidReturnType | ( | const Type * | RetTy | ) | [static] |
isValidReturnType - Return true if the specified type is valid as a return type.
isValidReturnType - Return true if the specified type is valid as a return type.
Definition at line 435 of file Type.cpp.
References llvm::dyn_cast(), llvm::StructType::getElementType(), llvm::StructType::getNumElements(), and llvm::Type::isFirstClassType().
| bool llvm::FunctionType::isVarArg | ( | ) | const [inline] |
Definition at line 162 of file DerivedTypes.h.
Referenced by calcTypeName(), llvm::Interpreter::callFunction(), llvm::CloneFunction(), llvm::X86IntelAsmPrinter::decorateName(), llvm::X86ATTAsmPrinter::decorateName(), EvaluateFunction(), llvm::FunctionValType::get(), getTypeDescription(), llvm::FunctionValType::hashTypeStructure(), llvm::Function::isVarArg(), RecursiveResolveTypesI(), llvm::JIT::runFunction(), TypesEqual(), llvm::InlineAsm::Verify(), and WriteTypeTable().
| const Type* llvm::FunctionType::getReturnType | ( | ) | const [inline] |
Definition at line 163 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by calcTypeName(), llvm::CloneFunction(), llvm::FunctionValType::get(), llvm::Function::getReturnType(), getTypeDescription(), lle_X___strdup(), lle_X_calloc(), lle_X_fopen(), lle_X_freopen(), lle_X_malloc(), lle_X_memcpy(), lle_X_memmove(), lle_X_memset(), lle_X_realloc(), lle_X_strcat(), lle_X_strcpy(), lle_X_strdup(), LowerPartSelect(), LowerPartSet(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), TypesEqual(), UpgradeIntrinsicFunction1(), llvm::InlineAsm::Verify(), and WriteTypeTable().
| param_iterator llvm::FunctionType::param_begin | ( | ) | const [inline] |
Definition at line 166 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by calcTypeName(), getTypeDescription(), and LLVMGetParamTypes().
| param_iterator llvm::FunctionType::param_end | ( | ) | const [inline] |
Definition at line 167 of file DerivedTypes.h.
References llvm::Type::ContainedTys, and llvm::Type::NumContainedTys.
Referenced by calcTypeName(), getTypeDescription(), and LLVMGetParamTypes().
Definition at line 170 of file DerivedTypes.h.
References llvm::Type::ContainedTys.
Referenced by llvm::FunctionValType::get(), LowerPartSelect(), LowerPartSet(), llvm::JIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), TypesEqual(), llvm::UpgradeIntrinsicCall(), UpgradeIntrinsicFunction1(), and WriteTypeTable().
| 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 175 of file DerivedTypes.h.
References llvm::Type::NumContainedTys.
Referenced by llvm::Function::arg_empty(), llvm::Function::arg_size(), calcTypeName(), llvm::X86IntelAsmPrinter::decorateName(), llvm::X86ATTAsmPrinter::decorateName(), llvm::FunctionValType::get(), getTypeDescription(), llvm::FunctionValType::hashTypeStructure(), LowerPartSelect(), LowerPartSet(), llvm::JIT::runFunction(), llvm::Interpreter::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), TypesEqual(), UpgradeIntrinsicFunction1(), llvm::InlineAsm::Verify(), and WriteTypeTable().
| void FunctionType::refineAbstractType | ( | const DerivedType * | OldTy, | |
| const Type * | NewTy | |||
| ) | [virtual] |
refineAbstractType - The callback method invoked when an abstract type is resolved to another type. An object must override this method to update its internal state to reference NewType instead of OldType.
Reimplemented from llvm::Type.
| void FunctionType::typeBecameConcrete | ( | const DerivedType * | AbsTy | ) | [virtual] |
The other case which AbstractTypeUsers must be aware of is when a type makes the transition from being abstract (where it has clients on it's AbstractTypeUsers list) to concrete (where it does not). This method notifies ATU's when this occurs for a type.
Reimplemented from llvm::Type.
| static bool llvm::FunctionType::classof | ( | const FunctionType * | ) | [inline, static] |
Definition at line 182 of file DerivedTypes.h.
| static bool llvm::FunctionType::classof | ( | const Type * | ) | [inline, static] |
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::DerivedType.
Definition at line 183 of file DerivedTypes.h.
References llvm::Type::FunctionTyID, and llvm::Type::getTypeID().
friend class TypeMap< FunctionValType, FunctionType > [friend] |
Definition at line 140 of file DerivedTypes.h.