clang 22.0.0git
clang::CodeGen::CGFunctionInfo Class Referencefinal

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

#include "clang/CodeGen/CGFunctionInfo.h"

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

Public Types

typedef const ArgInfoconst_arg_iterator
typedef ArgInfoarg_iterator

Public Member Functions

void operator delete (void *p)
size_t numTrailingObjects (OverloadToken< ArgInfo >) const
size_t numTrailingObjects (OverloadToken< ExtParameterInfo >) const
MutableArrayRef< ArgInfoarguments ()
ArrayRef< ArgInfoarguments () 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 isDelegateCall () const
bool isCmseNSCall () const
bool isNoReturn () const
bool isReturnsRetained () const
 In ARC, whether this function retains its return value.
bool isNoCallerSavedRegs () const
 Whether this function no longer saves caller registers.
bool isNoCfCheck () const
 Whether this function has nocf_check attribute.
CallingConv getASTCallingConvention () const
 getASTCallingConvention() - Return the AST-specified calling convention.
unsigned getCallingConvention () const
 getCallingConvention - Return the user specified calling convention, which has been translated into an LLVM CC.
unsigned getEffectiveCallingConvention () const
 getEffectiveCallingConvention - Return the actual calling convention to use, which may depend on the ABI.
void setEffectiveCallingConvention (unsigned Value)
bool getHasRegParm () const
unsigned getRegParm () const
FunctionType::ExtInfo getExtInfo () const
CanQualType getReturnType () const
ABIArgInfogetReturnInfo ()
const ABIArgInfogetReturnInfo () const
ArrayRef< ExtParameterInfogetExtParameterInfos () const
ExtParameterInfo getExtParameterInfo (unsigned argIndex) 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.
CharUnits getArgStructAlignment () const
void setArgStruct (llvm::StructType *Ty, CharUnits Align)
unsigned getMaxVectorWidth () const
 Return the maximum vector width in the arguments.
void setMaxVectorWidth (unsigned Width)
 Set the maximum vector width in the arguments.
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static CGFunctionInfocreate (unsigned llvmCC, bool instanceMethod, bool chainCall, bool delegateCall, const FunctionType::ExtInfo &extInfo, ArrayRef< ExtParameterInfo > paramInfos, CanQualType resultType, ArrayRef< CanQualType > argTypes, RequiredArgs required)
static void Profile (llvm::FoldingSetNodeID &ID, bool InstanceMethod, bool ChainCall, bool IsDelegateCall, const FunctionType::ExtInfo &info, ArrayRef< ExtParameterInfo > paramInfos, RequiredArgs required, CanQualType resultType, ArrayRef< CanQualType > argTypes)

Friends

class TrailingObjects

Detailed Description

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

Definition at line 596 of file CGFunctionInfo.h.

Member Typedef Documentation

◆ arg_iterator

◆ const_arg_iterator

Member Function Documentation

◆ arg_begin() [1/2]

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

Definition at line 713 of file CGFunctionInfo.h.

◆ arg_begin() [2/2]

◆ arg_end() [1/2]

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

Definition at line 714 of file CGFunctionInfo.h.

◆ arg_end() [2/2]

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

◆ arg_size()

◆ arguments() [1/2]

◆ arguments() [2/2]

ArrayRef< ArgInfo > clang::CodeGen::CGFunctionInfo::arguments ( ) const
inline

Definition at line 707 of file CGFunctionInfo.h.

References arg_begin().

◆ create()

◆ getArgStruct()

llvm::StructType * clang::CodeGen::CGFunctionInfo::getArgStruct ( ) const
inline

◆ getArgStructAlignment()

CharUnits clang::CodeGen::CGFunctionInfo::getArgStructAlignment ( ) const
inline

◆ getASTCallingConvention()

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

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

Definition at line 746 of file CGFunctionInfo.h.

Referenced by getExtInfo(), and Profile().

◆ getCallingConvention()

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 752 of file CGFunctionInfo.h.

◆ getEffectiveCallingConvention()

unsigned clang::CodeGen::CGFunctionInfo::getEffectiveCallingConvention ( ) const
inline

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

Definition at line 756 of file CGFunctionInfo.h.

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

◆ getExtInfo()

◆ getExtParameterInfo()

ExtParameterInfo clang::CodeGen::CGFunctionInfo::getExtParameterInfo ( unsigned argIndex) const
inline

◆ getExtParameterInfos()

ArrayRef< ExtParameterInfo > clang::CodeGen::CGFunctionInfo::getExtParameterInfos ( ) const
inline

◆ getHasRegParm()

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

Definition at line 763 of file CGFunctionInfo.h.

Referenced by getExtInfo().

◆ getMaxVectorWidth()

unsigned clang::CodeGen::CGFunctionInfo::getMaxVectorWidth ( ) const
inline

Return the maximum vector width in the arguments.

Definition at line 802 of file CGFunctionInfo.h.

◆ getNumRequiredArgs()

unsigned clang::CodeGen::CGFunctionInfo::getNumRequiredArgs ( ) const
inline

◆ getRegParm()

unsigned clang::CodeGen::CGFunctionInfo::getRegParm ( ) const
inline

Definition at line 764 of file CGFunctionInfo.h.

Referenced by getExtInfo().

◆ getRequiredArgs()

RequiredArgs clang::CodeGen::CGFunctionInfo::getRequiredArgs ( ) const
inline

◆ getReturnInfo() [1/2]

◆ getReturnInfo() [2/2]

const ABIArgInfo & clang::CodeGen::CGFunctionInfo::getReturnInfo ( ) const
inline

Definition at line 776 of file CGFunctionInfo.h.

◆ getReturnType()

◆ isChainCall()

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

◆ isCmseNSCall()

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

◆ isDelegateCall()

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

◆ isInstanceMethod()

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

◆ isNoCallerSavedRegs()

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

Whether this function no longer saves caller registers.

Definition at line 739 of file CGFunctionInfo.h.

Referenced by getExtInfo().

◆ isNoCfCheck()

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

Whether this function has nocf_check attribute.

Definition at line 742 of file CGFunctionInfo.h.

Referenced by getExtInfo().

◆ isNoReturn()

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

◆ isReturnsRetained()

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 736 of file CGFunctionInfo.h.

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

◆ isVariadic()

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

◆ numTrailingObjects() [1/2]

size_t clang::CodeGen::CGFunctionInfo::numTrailingObjects ( OverloadToken< ArgInfo > ) const
inline

Definition at line 694 of file CGFunctionInfo.h.

◆ numTrailingObjects() [2/2]

size_t clang::CodeGen::CGFunctionInfo::numTrailingObjects ( OverloadToken< ExtParameterInfo > ) const
inline

Definition at line 697 of file CGFunctionInfo.h.

◆ operator delete()

void clang::CodeGen::CGFunctionInfo::operator delete ( void * p)
inline

Definition at line 689 of file CGFunctionInfo.h.

◆ Profile() [1/2]

void clang::CodeGen::CGFunctionInfo::Profile ( llvm::FoldingSetNodeID & ID)
inline

◆ Profile() [2/2]

◆ setArgStruct()

void clang::CodeGen::CGFunctionInfo::setArgStruct ( llvm::StructType * Ty,
CharUnits Align )
inline

Definition at line 796 of file CGFunctionInfo.h.

References clang::CharUnits::getQuantity().

◆ setEffectiveCallingConvention()

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

Definition at line 759 of file CGFunctionInfo.h.

◆ setMaxVectorWidth()

void clang::CodeGen::CGFunctionInfo::setMaxVectorWidth ( unsigned Width)
inline

Set the maximum vector width in the arguments.

Definition at line 807 of file CGFunctionInfo.h.

◆ usesInAlloca()

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

Return true if this function uses inalloca arguments.

Definition at line 789 of file CGFunctionInfo.h.

Referenced by canEmitDelegateCallArgs().

◆ TrailingObjects

friend class TrailingObjects
friend

Definition at line 693 of file CGFunctionInfo.h.

References TrailingObjects.

Referenced by TrailingObjects.


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