|
clang
5.0.0
|
CGFunctionInfo - Class to encapsulate the information about a function definition. More...
#include "clang/CodeGen/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 |
Public Member Functions | |
| void | operator delete (void *p) |
| size_t | numTrailingObjects (OverloadToken< ArgInfo >) const |
| size_t | numTrailingObjects (OverloadToken< ExtParameterInfo >) const |
| arg_range | arguments () |
| arg_const_range | arguments () const |
| const_arg_iterator | arg_begin () const |
| const_arg_iterator | arg_end () const |
| arg_iterator | arg_begin () |
| arg_iterator | arg_end () |
| unsigned | arg_size () const |
| bool | isVariadic () const |
| RequiredArgs | getRequiredArgs () const |
| unsigned | getNumRequiredArgs () const |
| bool | isInstanceMethod () const |
| bool | isChainCall () const |
| bool | isNoReturn () const |
| bool | isReturnsRetained () const |
| In ARC, whether this function retains its return value. More... | |
| bool | isNoCallerSavedRegs () const |
| Whether this function no longer saves caller registers. More... | |
| CallingConv | getASTCallingConvention () const |
| getASTCallingConvention() - Return the AST-specified calling convention. More... | |
| unsigned | getCallingConvention () const |
| getCallingConvention - Return the user specified calling convention, which has been translated into an LLVM CC. More... | |
| unsigned | getEffectiveCallingConvention () const |
| getEffectiveCallingConvention - Return the actual calling convention to use, which may depend on the ABI. More... | |
| void | setEffectiveCallingConvention (unsigned Value) |
| bool | getHasRegParm () const |
| unsigned | getRegParm () const |
| FunctionType::ExtInfo | getExtInfo () const |
| CanQualType | getReturnType () const |
| ABIArgInfo & | getReturnInfo () |
| const ABIArgInfo & | getReturnInfo () const |
| ArrayRef< ExtParameterInfo > | getExtParameterInfos () const |
| ExtParameterInfo | getExtParameterInfo (unsigned argIndex) const |
| bool | usesInAlloca () const |
| Return true if this function uses inalloca arguments. More... | |
| llvm::StructType * | getArgStruct () const |
| Get the struct type used to represent all the arguments in memory. More... | |
| CharUnits | getArgStructAlignment () const |
| void | setArgStruct (llvm::StructType *Ty, CharUnits Align) |
| void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
| static CGFunctionInfo * | create (unsigned llvmCC, bool instanceMethod, bool chainCall, const FunctionType::ExtInfo &extInfo, ArrayRef< ExtParameterInfo > paramInfos, CanQualType resultType, ArrayRef< CanQualType > argTypes, RequiredArgs required) |
| static void | Profile (llvm::FoldingSetNodeID &ID, bool InstanceMethod, bool ChainCall, const FunctionType::ExtInfo &info, ArrayRef< ExtParameterInfo > paramInfos, RequiredArgs required, CanQualType resultType, ArrayRef< CanQualType > argTypes) |
Friends | |
| class | TrailingObjects |
CGFunctionInfo - Class to encapsulate the information about a function definition.
Definition at line 448 of file CGFunctionInfo.h.
| typedef llvm::iterator_range<const_arg_iterator> clang::CodeGen::CGFunctionInfo::arg_const_range |
Definition at line 536 of file CGFunctionInfo.h.
Definition at line 533 of file CGFunctionInfo.h.
| typedef llvm::iterator_range<arg_iterator> clang::CodeGen::CGFunctionInfo::arg_range |
Definition at line 535 of file CGFunctionInfo.h.
| typedef const ArgInfo* clang::CodeGen::CGFunctionInfo::const_arg_iterator |
Definition at line 532 of file CGFunctionInfo.h.
|
inline |
Definition at line 543 of file CGFunctionInfo.h.
Referenced by arguments(), clang::CodeGen::swiftcall::computeABIInfo(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitMustTailThunk(), and clang::CodeGen::CodeGenTypes::GetFunctionType().
|
inline |
Definition at line 545 of file CGFunctionInfo.h.
|
inline |
Definition at line 544 of file CGFunctionInfo.h.
Referenced by arguments(), and clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 546 of file CGFunctionInfo.h.
|
inline |
Definition at line 548 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall(), clang::CodeGen::swiftcall::computeABIInfo(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and getNumRequiredArgs().
|
inline |
Definition at line 538 of file CGFunctionInfo.h.
References arg_begin(), and arg_end().
Referenced by Profile().
|
inline |
Definition at line 539 of file CGFunctionInfo.h.
References arg_begin(), and arg_end().
|
static |
Definition at line 779 of file CGCall.cpp.
References clang::FunctionType::ExtInfo::getCC(), clang::FunctionType::ExtInfo::getHasRegParm(), clang::FunctionType::ExtInfo::getNoCallerSavedRegs(), clang::FunctionType::ExtInfo::getNoReturn(), clang::FunctionType::ExtInfo::getProducesResult(), clang::FunctionType::ExtInfo::getRegParm(), and clang::CodeGen::CGFunctionInfoArgInfo::type.
|
inline |
Get the struct type used to represent all the arguments in memory.
Definition at line 616 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and clang::CodeGen::CodeGenTypes::GetFunctionType().
|
inline |
Definition at line 617 of file CGFunctionInfo.h.
References clang::CharUnits::fromQuantity().
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), and clang::CodeGen::CodeGenFunction::EmitFunctionProlog().
|
inline |
getASTCallingConvention() - Return the AST-specified calling convention.
Definition at line 571 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 577 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 581 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 591 of file CGFunctionInfo.h.
References getASTCallingConvention(), getHasRegParm(), getRegParm(), isNoCallerSavedRegs(), isNoReturn(), and isReturnsRetained().
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall().
|
inline |
Definition at line 606 of file CGFunctionInfo.h.
References getExtParameterInfos().
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), and clang::CodeGen::CodeGenFunction::EmitFunctionProlog().
|
inline |
Definition at line 602 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall(), getExtParameterInfo(), and Profile().
|
inline |
Definition at line 588 of file CGFunctionInfo.h.
Referenced by getExtInfo().
|
inline |
Definition at line 552 of file CGFunctionInfo.h.
References arg_size(), clang::CodeGen::RequiredArgs::getNumRequiredArgs(), getRequiredArgs(), and isVariadic().
Referenced by clang::CodeGen::CodeGenTypes::GetFunctionType().
|
inline |
Definition at line 589 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), and getExtInfo().
|
inline |
Definition at line 551 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall(), and getNumRequiredArgs().
|
inline |
Definition at line 599 of file CGFunctionInfo.h.
References clang::CodeGen::CGFunctionInfoArgInfo::info.
Referenced by clang::CodeGen::swiftcall::computeABIInfo(), 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 600 of file CGFunctionInfo.h.
References clang::CodeGen::CGFunctionInfoArgInfo::info.
|
inline |
Definition at line 597 of file CGFunctionInfo.h.
References clang::CodeGen::CGFunctionInfoArgInfo::type.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall(), clang::CodeGen::swiftcall::computeABIInfo(), 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 558 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall(), and clang::CodeGen::CodeGenModule::ConstructAttributeList().
|
inline |
Definition at line 556 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeCall().
|
inline |
Whether this function no longer saves caller registers.
Definition at line 567 of file CGFunctionInfo.h.
Referenced by getExtInfo().
|
inline |
Definition at line 560 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 564 of file CGFunctionInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), getExtInfo(), and clang::CodeGen::CodeGenFunction::StartFunction().
|
inline |
Definition at line 550 of file CGFunctionInfo.h.
References clang::CodeGen::RequiredArgs::allowsOptionalArgs().
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), and getNumRequiredArgs().
Definition at line 525 of file CGFunctionInfo.h.
|
inline |
Definition at line 528 of file CGFunctionInfo.h.
|
inline |
Definition at line 520 of file CGFunctionInfo.h.
|
inline |
Definition at line 625 of file CGFunctionInfo.h.
References arguments(), getASTCallingConvention(), getExtParameterInfos(), clang::CodeGen::RequiredArgs::getOpaqueData(), getReturnType(), I, and clang::CanQual< T >::Profile().
|
inlinestatic |
Definition at line 644 of file CGFunctionInfo.h.
References clang::FunctionType::ExtInfo::getCC(), clang::FunctionType::ExtInfo::getHasRegParm(), clang::FunctionType::ExtInfo::getNoCallerSavedRegs(), 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 620 of file CGFunctionInfo.h.
References clang::CharUnits::getQuantity().
|
inline |
Definition at line 584 of file CGFunctionInfo.h.
|
inline |
Return true if this function uses inalloca arguments.
Definition at line 613 of file CGFunctionInfo.h.
Referenced by canEmitDelegateCallArgs(), and clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().
|
friend |
Definition at line 524 of file CGFunctionInfo.h.
1.8.6