clang 10.0.0git

Classes | Public Types | Public Member Functions | List of all members
clang::CodeGen::CallArgList Class Reference

CallArgList - Type for representing both the value and type of arguments in a call. More...

`#include "/work/www-prereleases/10.0.0/rc1/docsbuild/clang/lib/CodeGen/CGCall.h"`

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

## Classes
struct | CallArgCleanup
struct | Writeback

## Public Types
typedef llvm::iterator_range< SmallVectorImpl< Writeback >::const_iterator > | writeback_const_range

## Public Member Functions
| CallArgList ()
void | add (RValue rvalue, QualType type)
void | addUncopiedAggregate (LValue LV, QualType type)
void | addFrom (const CallArgList &other)
| Add all the arguments from another CallArgList to this one. More...
void | addWriteback (LValue srcLV, Address temporary, llvm::Value *toUse)
bool | hasWritebacks () const
writeback_const_range | writebacks () const
void | addArgCleanupDeactivation (EHScopeStack::stable_iterator Cleanup, llvm::Instruction *IsActiveIP)
ArrayRef< CallArgCleanup > | getCleanupsToDeactivate () const
void | allocateArgumentMemory (CodeGenFunction &CGF)
llvm::Instruction * | getStackBase () const
void | freeArgumentMemory (CodeGenFunction &CGF) const
bool | isUsingInAlloca () const
| Returns if we're using an inalloca struct to pass arguments in memory. More...

## Detailed Description

CallArgList - Type for representing both the value and type of arguments in a call.

Definition at line 261 of file CGCall.h.

## Member Typedef Documentation

## ◆ writeback_const_range

typedef llvm::iterator_range<SmallVectorImpl<Writeback>::const_iterator> clang::CodeGen::CallArgList::writeback_const_range

Definition at line 314 of file CGCall.h.

## Constructor & Destructor Documentation

## ◆ CallArgList()

clang::CodeGen::CallArgList::CallArgList | ( |  | ) |
| inline

Definition at line 263 of file CGCall.h.

## Member Function Documentation

## ◆ add()

void clang::CodeGen::CallArgList::add | ( | RValue | rvalue,
|  | QualType | type
| ) |  |
| inline

Definition at line 285 of file CGCall.h.

Referenced by AddDirectArgument(), commonEmitCXXMemberOrOperatorCall(), decomposeTypeForEH(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::emitBuiltinOSLogFormat(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitCallArg(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitDelegateCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), getUsualDeleteParams(), hasDefaultCXXMethodCC(), and isWeakLinkedClass().

## ◆ addArgCleanupDeactivation()

void clang::CodeGen::CallArgList::addArgCleanupDeactivation | ( | EHScopeStack::stable_iterator | Cleanup,
|  | llvm::Instruction * | IsActiveIP
| ) |  |
| inline

Definition at line 320 of file CGCall.h.

References clang::CodeGen::CallArgList::CallArgCleanup::Cleanup, and clang::CodeGen::CallArgList::CallArgCleanup::IsActiveIP.

## ◆ addFrom()

void clang::CodeGen::CallArgList::addFrom | ( | const CallArgList & | other | ) |
| inline

Add all the arguments from another CallArgList to this one.

After doing this, the old CallArgList retains its list of arguments, but must not be used to emit a call.

Definition at line 294 of file CGCall.h.

Referenced by commonEmitCXXMemberOrOperatorCall(), and isWeakLinkedClass().

## ◆ addUncopiedAggregate()

void clang::CodeGen::CallArgList::addUncopiedAggregate | ( | LValue | LV,
|  | QualType | type
| ) |  |
| inline

Definition at line 287 of file CGCall.h.

## ◆ addWriteback()

void clang::CodeGen::CallArgList::addWriteback | ( | LValue | srcLV,
|  | Address | temporary,
|  | llvm::Value * | toUse
| ) |  |
| inline

Definition at line 306 of file CGCall.h.

Referenced by emitWritebackArg().

## ◆ allocateArgumentMemory()

void CallArgList::allocateArgumentMemory | ( | CodeGenFunction & | CGF | ) |

Definition at line 3369 of file CGCall.cpp.

References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, and clang::CodeGen::CodeGenModule::getIntrinsic().

## ◆ freeArgumentMemory()

void CallArgList::freeArgumentMemory | ( | CodeGenFunction & | CGF | ) | const

Definition at line 3377 of file CGCall.cpp.

References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, and clang::CodeGen::CodeGenModule::getIntrinsic().

## ◆ getCleanupsToDeactivate()

ArrayRef<CallArgCleanup> clang::CodeGen::CallArgList::getCleanupsToDeactivate | ( |  | ) | const
| inline

Definition at line 328 of file CGCall.h.

Referenced by deactivateArgCleanupsBeforeCall().

## ◆ getStackBase()

llvm::Instruction* clang::CodeGen::CallArgList::getStackBase | ( |  | ) | const
| inline

Definition at line 333 of file CGCall.h.

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

## ◆ hasWritebacks()

bool clang::CodeGen::CallArgList::hasWritebacks | ( |  | ) | const
| inline

Definition at line 311 of file CGCall.h.

## ◆ isUsingInAlloca()

bool clang::CodeGen::CallArgList::isUsingInAlloca | ( |  | ) | const
| inline

Returns if we're using an inalloca struct to pass arguments in memory.

Definition at line 338 of file CGCall.h.

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

## ◆ writebacks()

writeback_const_range clang::CodeGen::CallArgList::writebacks | ( |  | ) | const
| inline

Definition at line 316 of file CGCall.h.

Referenced by emitWritebacks().

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

- lib/CodeGen/CGCall.h
- lib/CodeGen/CGCall.cpp