clang API Documentation

Classes | Public Types | Public Member Functions | Static Public Member Functions
clang::CodeGen::CGFunctionInfo Class Reference

#include <CGFunctionInfo.h>

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

List of all members.

Classes

struct  ArgInfo

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 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.
llvm::StructType * getArgStruct () const
 Get the struct type used to represent all the arguments in memory.
void setArgStruct (llvm::StructType *Ty)
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static CGFunctionInfocreate (unsigned llvmCC, bool InstanceMethod, const FunctionType::ExtInfo &extInfo, CanQualType resultType, ArrayRef< CanQualType > argTypes, RequiredArgs required)
static void Profile (llvm::FoldingSetNodeID &ID, bool InstanceMethod, 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 393 of file CGFunctionInfo.h.

Definition at line 390 of file CGFunctionInfo.h.

Definition at line 392 of file CGFunctionInfo.h.

Definition at line 389 of file CGFunctionInfo.h.


Member Function Documentation

Definition at line 402 of file CGFunctionInfo.h.

Definition at line 403 of file CGFunctionInfo.h.

Definition at line 395 of file CGFunctionInfo.h.

References arg_begin(), and arg_end().

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

Definition at line 396 of file CGFunctionInfo.h.

References arg_begin(), and arg_end().

CGFunctionInfo * CGFunctionInfo::create ( unsigned  llvmCC,
bool  InstanceMethod,
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 459 of file CGFunctionInfo.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), and clang::CodeGen::CodeGenTypes::GetFunctionType().

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

Definition at line 423 of file CGFunctionInfo.h.

Referenced by getExtInfo(), and Profile().

getCallingConvention - Return the user specified calling convention, which has been translated into an LLVM CC.

Definition at line 429 of file CGFunctionInfo.h.

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

getEffectiveCallingConvention - Return the actual calling convention to use, which may depend on the ABI.

Definition at line 433 of file CGFunctionInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().

Definition at line 440 of file CGFunctionInfo.h.

Referenced by getExtInfo().

Definition at line 453 of file CGFunctionInfo.h.

Definition at line 413 of file CGFunctionInfo.h.

In ARC, whether this function retains its return value. This is not always reliable for call sites.

Definition at line 419 of file CGFunctionInfo.h.

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

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

Definition at line 460 of file CGFunctionInfo.h.

Definition at line 436 of file CGFunctionInfo.h.

Return true if this function uses inalloca arguments.

Definition at line 456 of file CGFunctionInfo.h.

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


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