clang  3.7.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::CGFunctionInfo Class Reference

#include <CGFunctionInfo.h>

Inheritance diagram for clang::CodeGen::CGFunctionInfo:
[legend]
Collaboration diagram for clang::CodeGen::CGFunctionInfo:
[legend]

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

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
 
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
 
ABIArgInfogetReturnInfo ()
 
const ABIArgInfogetReturnInfo () 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...
 
void setArgStruct (llvm::StructType *Ty)
 
void Profile (llvm::FoldingSetNodeID &ID)
 

Static Public Member Functions

static CGFunctionInfocreate (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)
 

Detailed Description

CGFunctionInfo - Class to encapsulate the information about a function definition.

Definition at line 335 of file CGFunctionInfo.h.

Member Typedef Documentation

Definition at line 397 of file CGFunctionInfo.h.

Definition at line 394 of file CGFunctionInfo.h.

Definition at line 396 of file CGFunctionInfo.h.

Definition at line 393 of file CGFunctionInfo.h.

Member Function Documentation

const_arg_iterator clang::CodeGen::CGFunctionInfo::arg_begin ( ) const
inline
arg_iterator clang::CodeGen::CGFunctionInfo::arg_begin ( )
inline

Definition at line 406 of file CGFunctionInfo.h.

const_arg_iterator clang::CodeGen::CGFunctionInfo::arg_end ( ) const
inline
arg_iterator clang::CodeGen::CGFunctionInfo::arg_end ( )
inline

Definition at line 407 of file CGFunctionInfo.h.

unsigned clang::CodeGen::CGFunctionInfo::arg_size ( ) const
inline
arg_range clang::CodeGen::CGFunctionInfo::arguments ( )
inline

Definition at line 399 of file CGFunctionInfo.h.

References arg_begin(), and arg_end().

Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), and Profile().

arg_const_range clang::CodeGen::CGFunctionInfo::arguments ( ) const
inline

Definition at line 400 of file CGFunctionInfo.h.

References arg_begin(), and arg_end().

CGFunctionInfo * CGFunctionInfo::create ( unsigned  llvmCC,
bool  instanceMethod,
bool  chainCall,
const FunctionType::ExtInfo extInfo,
CanQualType  resultType,
ArrayRef< CanQualType argTypes,
RequiredArgs  required 
)
static
llvm::StructType* clang::CodeGen::CGFunctionInfo::getArgStruct ( ) const
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().

CallingConv clang::CodeGen::CGFunctionInfo::getASTCallingConvention ( ) const
inline

getASTCallingConvention() - Return the AST-specified calling convention.

Definition at line 429 of file CGFunctionInfo.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 435 of file CGFunctionInfo.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().

unsigned clang::CodeGen::CGFunctionInfo::getEffectiveCallingConvention ( ) const
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().

FunctionType::ExtInfo clang::CodeGen::CGFunctionInfo::getExtInfo ( ) const
inline
bool clang::CodeGen::CGFunctionInfo::getHasRegParm ( ) const
inline

Definition at line 446 of file CGFunctionInfo.h.

Referenced by getExtInfo().

unsigned clang::CodeGen::CGFunctionInfo::getNumRequiredArgs ( ) const
inline
unsigned clang::CodeGen::CGFunctionInfo::getRegParm ( ) const
inline
RequiredArgs clang::CodeGen::CGFunctionInfo::getRequiredArgs ( ) const
inline
ABIArgInfo& clang::CodeGen::CGFunctionInfo::getReturnInfo ( )
inline
const ABIArgInfo& clang::CodeGen::CGFunctionInfo::getReturnInfo ( ) const
inline

Definition at line 459 of file CGFunctionInfo.h.

CanQualType clang::CodeGen::CGFunctionInfo::getReturnType ( ) const
inline
bool clang::CodeGen::CGFunctionInfo::isChainCall ( ) const
inline
bool clang::CodeGen::CGFunctionInfo::isInstanceMethod ( ) const
inline

Definition at line 417 of file CGFunctionInfo.h.

bool clang::CodeGen::CGFunctionInfo::isNoReturn ( ) const
inline
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 425 of file CGFunctionInfo.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), getExtInfo(), and clang::CodeGen::CodeGenFunction::StartFunction().

bool clang::CodeGen::CGFunctionInfo::isVariadic ( ) const
inline
void clang::CodeGen::CGFunctionInfo::Profile ( llvm::FoldingSetNodeID &  ID)
inline
static void clang::CodeGen::CGFunctionInfo::Profile ( llvm::FoldingSetNodeID &  ID,
bool  InstanceMethod,
bool  ChainCall,
const FunctionType::ExtInfo info,
RequiredArgs  required,
CanQualType  resultType,
ArrayRef< CanQualType argTypes 
)
inlinestatic
void clang::CodeGen::CGFunctionInfo::setArgStruct ( llvm::StructType *  Ty)
inline

Definition at line 466 of file CGFunctionInfo.h.

void clang::CodeGen::CGFunctionInfo::setEffectiveCallingConvention ( unsigned  Value)
inline

Definition at line 442 of file CGFunctionInfo.h.

bool clang::CodeGen::CGFunctionInfo::usesInAlloca ( ) const
inline

Return true if this function uses inalloca arguments.

Definition at line 462 of file CGFunctionInfo.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().


The documentation for this class was generated from the following files: