clang 20.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 "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCall.h"

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

Classes

struct  CallArgCleanup
 
struct  Writeback
 

Public Types

typedef llvm::iterator_range< SmallVectorImpl< Writeback >::const_iterator > writeback_const_range
 

Public Member Functions

 CallArgList ()=default
 
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.
 
void addWriteback (LValue srcLV, Address temporary, llvm::Value *toUse, const Expr *writebackExpr=nullptr, llvm::Value *lifetimeSz=nullptr)
 
bool hasWritebacks () const
 
writeback_const_range writebacks () const
 
void addArgCleanupDeactivation (EHScopeStack::stable_iterator Cleanup, llvm::Instruction *IsActiveIP)
 
ArrayRef< CallArgCleanupgetCleanupsToDeactivate () 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.
 
void reverseWritebacks ()
 

Detailed Description

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

Definition at line 274 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 336 of file CGCall.h.

Constructor & Destructor Documentation

◆ CallArgList()

clang::CodeGen::CallArgList::CallArgList ( )
default

Member Function Documentation

◆ add()

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

◆ addArgCleanupDeactivation()

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

◆ 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 314 of file CGCall.h.

Referenced by commonEmitCXXMemberOrOperatorCall().

◆ addUncopiedAggregate()

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

Definition at line 307 of file CGCall.h.

References clang::ast_matchers::type.

◆ addWriteback()

void clang::CodeGen::CallArgList::addWriteback ( LValue  srcLV,
Address  temporary,
llvm::Value *  toUse,
const Expr writebackExpr = nullptr,
llvm::Value *  lifetimeSz = nullptr 
)
inline

Definition at line 326 of file CGCall.h.

Referenced by emitWritebackArg().

◆ allocateArgumentMemory()

void CallArgList::allocateArgumentMemory ( CodeGenFunction CGF)

Definition at line 4378 of file CGCall.cpp.

References clang::CodeGen::CodeGenFunction::Builder.

◆ freeArgumentMemory()

void CallArgList::freeArgumentMemory ( CodeGenFunction CGF) const

Definition at line 4385 of file CGCall.cpp.

References clang::CodeGen::CodeGenFunction::Builder.

◆ getCleanupsToDeactivate()

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

Definition at line 350 of file CGCall.h.

Referenced by deactivateArgCleanupsBeforeCall().

◆ getStackBase()

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

Definition at line 355 of file CGCall.h.

◆ hasWritebacks()

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

Definition at line 333 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 360 of file CGCall.h.

◆ reverseWritebacks()

void clang::CodeGen::CallArgList::reverseWritebacks ( )
inline

Definition at line 363 of file CGCall.h.

Referenced by handleHlslSplitdouble().

◆ writebacks()

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

Definition at line 338 of file CGCall.h.


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