clang API Documentation
#include <CGCall.h>


Classes | |
| struct | ArgInfo |
Public Types | |
| typedef const ArgInfo * | const_arg_iterator |
| typedef ArgInfo * | arg_iterator |
Public Member Functions | |
| 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 |
| bool | isNoReturn () const |
| bool | isReturnsRetained () const |
| CallingConv | getASTCallingConvention () const |
| unsigned | getCallingConvention () const |
| unsigned | getEffectiveCallingConvention () const |
| void | setEffectiveCallingConvention (unsigned Value) |
| bool | getHasRegParm () const |
| unsigned | getRegParm () const |
| FunctionType::ExtInfo | getExtInfo () const |
| CanQualType | getReturnType () const |
| ABIArgInfo & | getReturnInfo () |
| const ABIArgInfo & | getReturnInfo () const |
| void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
| static CGFunctionInfo * | create (unsigned llvmCC, const FunctionType::ExtInfo &extInfo, CanQualType resultType, ArrayRef< CanQualType > argTypes, RequiredArgs required) |
| static void | Profile (llvm::FoldingSetNodeID &ID, const FunctionType::ExtInfo &info, RequiredArgs required, CanQualType resultType, ArrayRef< CanQualType > argTypes) |
CGFunctionInfo - Class to encapsulate the information about a function definition.
| typedef ArgInfo* clang::CodeGen::CGFunctionInfo::arg_iterator |
| typedef const ArgInfo* clang::CodeGen::CGFunctionInfo::const_arg_iterator |
| const_arg_iterator clang::CodeGen::CGFunctionInfo::arg_begin | ( | ) | const [inline] |
Definition at line 207 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeFunctionType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::GenerateThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), clang::CodeGen::CodeGenFunction::IndirectObjCSetterArg(), and Profile().
| arg_iterator clang::CodeGen::CGFunctionInfo::arg_begin | ( | ) | [inline] |
| const_arg_iterator clang::CodeGen::CGFunctionInfo::arg_end | ( | ) | const [inline] |
Definition at line 208 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeFunctionType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenTypes::GetFunctionType(), and Profile().
| arg_iterator clang::CodeGen::CGFunctionInfo::arg_end | ( | ) | [inline] |
| unsigned clang::CodeGen::CGFunctionInfo::arg_size | ( | ) | const [inline] |
Definition at line 212 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and clang::CodeGen::CodeGenFunction::GenerateThunk().
| CGFunctionInfo * CGFunctionInfo::create | ( | unsigned | llvmCC, |
| const FunctionType::ExtInfo & | extInfo, | ||
| CanQualType | resultType, | ||
| ArrayRef< CanQualType > | argTypes, | ||
| RequiredArgs | required | ||
| ) | [static] |
| CallingConv clang::CodeGen::CGFunctionInfo::getASTCallingConvention | ( | ) | const [inline] |
getASTCallingConvention() - Return the AST-specified calling convention.
Definition at line 225 of file CGCall.h.
Referenced by getExtInfo(), and Profile().
| unsigned clang::CodeGen::CGFunctionInfo::getCallingConvention | ( | ) | const [inline] |
getCallingConvention - Return the user specified calling convention, which has been translated into an LLVM CC.
Definition at line 231 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::GenerateThunk().
| unsigned clang::CodeGen::CGFunctionInfo::getEffectiveCallingConvention | ( | ) | const [inline] |
getEffectiveCallingConvention - Return the actual calling convention to use, which may depend on the ABI.
Definition at line 235 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().
| FunctionType::ExtInfo clang::CodeGen::CGFunctionInfo::getExtInfo | ( | ) | const [inline] |
Definition at line 245 of file CGCall.h.
References getASTCallingConvention(), getHasRegParm(), getRegParm(), isNoReturn(), and isReturnsRetained().
Referenced by clang::CodeGen::CGObjCRuntime::getMessageSendInfo().
| bool clang::CodeGen::CGFunctionInfo::getHasRegParm | ( | ) | const [inline] |
Definition at line 242 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), and getExtInfo().
| unsigned clang::CodeGen::CGFunctionInfo::getRegParm | ( | ) | const [inline] |
Definition at line 243 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::GenerateThunk(), and getExtInfo().
| RequiredArgs clang::CodeGen::CGFunctionInfo::getRequiredArgs | ( | ) | const [inline] |
Definition at line 215 of file CGCall.h.
Referenced by clang::CodeGen::CGObjCRuntime::getMessageSendInfo().
| ABIArgInfo& clang::CodeGen::CGFunctionInfo::getReturnInfo | ( | ) | [inline] |
Definition at line 254 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeFunctionType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::GenerateThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), clang::CodeGen::CodeGenModule::ReturnTypeUsesSRet(), and clang::CodeGen::CodeGenFunction::StartFunction().
| const ABIArgInfo& clang::CodeGen::CGFunctionInfo::getReturnInfo | ( | ) | const [inline] |
| CanQualType clang::CodeGen::CGFunctionInfo::getReturnType | ( | ) | const [inline] |
Definition at line 252 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenTypes::arrangeFunctionType(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::GenerateThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), Profile(), and clang::CodeGen::CodeGenFunction::StartFunction().
| bool clang::CodeGen::CGFunctionInfo::isNoReturn | ( | ) | const [inline] |
Definition at line 217 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CodeGen::CodeGenFunction::GenerateThunk(), and getExtInfo().
| bool clang::CodeGen::CGFunctionInfo::isReturnsRetained | ( | ) | const [inline] |
In ARC, whether this function retains its return value. This is not always reliable for call sites.
Definition at line 221 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), getExtInfo(), and clang::CodeGen::CodeGenFunction::StartFunction().
| bool clang::CodeGen::CGFunctionInfo::isVariadic | ( | ) | const [inline] |
Definition at line 214 of file CGCall.h.
References clang::CodeGen::RequiredArgs::allowsOptionalArgs().
Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CodeGen::CodeGenTypes::GetFunctionType(), and clang::CodeGen::CGObjCRuntime::getMessageSendInfo().
| void clang::CodeGen::CGFunctionInfo::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | [inline] |
Definition at line 257 of file CGCall.h.
References arg_begin(), arg_end(), getASTCallingConvention(), clang::CodeGen::RequiredArgs::getOpaqueData(), getReturnType(), and clang::CanQual< T >::Profile().
Referenced by clang::CodeGen::CodeGenTypes::arrangeFunctionType().
| static void clang::CodeGen::CGFunctionInfo::Profile | ( | llvm::FoldingSetNodeID & | ID, |
| const FunctionType::ExtInfo & | info, | ||
| RequiredArgs | required, | ||
| CanQualType | resultType, | ||
| ArrayRef< CanQualType > | argTypes | ||
| ) | [inline, static] |
Definition at line 268 of file CGCall.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().
| void clang::CodeGen::CGFunctionInfo::setEffectiveCallingConvention | ( | unsigned | Value | ) | [inline] |