clang
3.7.0
|
#include <CGFunctionInfo.h>
Public Types | |
typedef const ArgInfo * | const_arg_iterator |
typedef ArgInfo * | arg_iterator |
typedef llvm::iterator_range < arg_iterator > | arg_range |
typedef llvm::iterator_range < const_arg_iterator > | arg_const_range |
Static Public Member Functions | |
static CGFunctionInfo * | create (unsigned llvmCC, bool instanceMethod, bool chainCall, const FunctionType::ExtInfo &extInfo, CanQualType resultType, ArrayRef< CanQualType > argTypes, RequiredArgs required) |
static void | Profile (llvm::FoldingSetNodeID &ID, bool InstanceMethod, bool ChainCall, const FunctionType::ExtInfo &info, RequiredArgs required, CanQualType resultType, ArrayRef< CanQualType > argTypes) |
CGFunctionInfo - Class to encapsulate the information about a function definition.
Definition at line 335 of file CGFunctionInfo.h.
typedef llvm::iterator_range<const_arg_iterator> clang::CodeGen::CGFunctionInfo::arg_const_range |
Definition at line 397 of file CGFunctionInfo.h.
typedef ArgInfo* clang::CodeGen::CGFunctionInfo::arg_iterator |
Definition at line 394 of file CGFunctionInfo.h.
typedef llvm::iterator_range<arg_iterator> clang::CodeGen::CGFunctionInfo::arg_range |
Definition at line 396 of file CGFunctionInfo.h.
typedef const ArgInfo* clang::CodeGen::CGFunctionInfo::const_arg_iterator |
Definition at line 393 of file CGFunctionInfo.h.
|
inline |
Definition at line 404 of file CGFunctionInfo.h.
Referenced by arguments(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitMustTailThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), and clang::CodeGen::CodeGenFunction::IndirectObjCSetterArg().
|
inline |
Definition at line 406 of file CGFunctionInfo.h.
|
inline |
Definition at line 405 of file CGFunctionInfo.h.
Referenced by arguments(), and clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 407 of file CGFunctionInfo.h.
|
inline |
Definition at line 409 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and getNumRequiredArgs().
|
inline |
Definition at line 399 of file CGFunctionInfo.h.
References arg_begin(), and arg_end().
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), and Profile().
|
inline |
Definition at line 400 of file CGFunctionInfo.h.
References arg_begin(), and arg_end().
|
static |
Definition at line 535 of file CGCall.cpp.
References clang::FunctionType::ExtInfo::getCC(), clang::FunctionType::ExtInfo::getHasRegParm(), clang::FunctionType::ExtInfo::getNoReturn(), clang::FunctionType::ExtInfo::getProducesResult(), and clang::FunctionType::ExtInfo::getRegParm().
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
|
inline |
Get the struct type used to represent all the arguments in memory.
Definition at line 465 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and clang::CodeGen::CodeGenTypes::GetFunctionType().
|
inline |
getASTCallingConvention() - Return the AST-specified calling convention.
Definition at line 429 of file CGFunctionInfo.h.
Referenced by getExtInfo(), and Profile().
|
inline |
getCallingConvention - Return the user specified calling convention, which has been translated into an LLVM CC.
Definition at line 435 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().
|
inline |
getEffectiveCallingConvention - Return the actual calling convention to use, which may depend on the ABI.
Definition at line 439 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 449 of file CGFunctionInfo.h.
References getASTCallingConvention(), getHasRegParm(), getRegParm(), isNoReturn(), and isReturnsRetained().
Referenced by clang::CodeGen::CGObjCRuntime::getMessageSendInfo().
|
inline |
Definition at line 446 of file CGFunctionInfo.h.
Referenced by getExtInfo().
|
inline |
Definition at line 413 of file CGFunctionInfo.h.
References arg_size(), clang::CodeGen::RequiredArgs::getNumRequiredArgs(), getRequiredArgs(), and isVariadic().
Referenced by clang::CodeGen::CodeGenTypes::GetFunctionType().
|
inline |
Definition at line 447 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), and getExtInfo().
|
inline |
Definition at line 412 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CGObjCRuntime::getMessageSendInfo(), and getNumRequiredArgs().
|
inline |
Definition at line 458 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitMustTailThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), clang::CodeGen::CodeGenModule::ReturnTypeUsesSRet(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 459 of file CGFunctionInfo.h.
|
inline |
Definition at line 456 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenTypes::GetFunctionType(), Profile(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 419 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 417 of file CGFunctionInfo.h.
|
inline |
Definition at line 421 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), and getExtInfo().
|
inline |
In ARC, whether this function retains its return value. This is not always reliable for call sites.
Definition at line 425 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), getExtInfo(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 411 of file CGFunctionInfo.h.
References clang::CodeGen::RequiredArgs::allowsOptionalArgs().
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), clang::CodeGen::CGObjCRuntime::getMessageSendInfo(), and getNumRequiredArgs().
|
inline |
Definition at line 468 of file CGFunctionInfo.h.
References arguments(), getASTCallingConvention(), clang::CodeGen::RequiredArgs::getOpaqueData(), getReturnType(), and clang::CanQual< T >::Profile().
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
|
inlinestatic |
Definition at line 481 of file CGFunctionInfo.h.
References clang::FunctionType::ExtInfo::getCC(), clang::FunctionType::ExtInfo::getHasRegParm(), clang::FunctionType::ExtInfo::getNoReturn(), clang::CodeGen::RequiredArgs::getOpaqueData(), clang::FunctionType::ExtInfo::getProducesResult(), clang::FunctionType::ExtInfo::getRegParm(), and clang::CanQual< T >::Profile().
|
inline |
Definition at line 466 of file CGFunctionInfo.h.
|
inline |
Definition at line 442 of file CGFunctionInfo.h.
|
inline |
Return true if this function uses inalloca arguments.
Definition at line 462 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().