clang
3.7.0
|
#include <CGCall.h>
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, bool needscopy=false) |
void | addFrom (const CallArgList &other) |
void | addWriteback (LValue srcLV, llvm::Value *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... | |
CallArgList - Type for representing both the value and type of arguments in a call.
typedef llvm::iterator_range<SmallVectorImpl<Writeback>::const_iterator> clang::CodeGen::CallArgList::writeback_const_range |
|
inline |
Definition at line 81 of file CGCall.h.
Referenced by AddDirectArgument(), commonEmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), 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::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitDelegateCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), and clang::CodeGen::CodeGenFunction::generateObjCSetterBody().
|
inline |
Definition at line 109 of file CGCall.h.
References clang::CodeGen::CallArgList::CallArgCleanup::Cleanup, and clang::CodeGen::CallArgList::CallArgCleanup::IsActiveIP.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallArg().
|
inline |
|
inline |
Definition at line 91 of file CGCall.h.
References clang::CodeGen::CallArgList::Writeback::Source, clang::CodeGen::CallArgList::Writeback::Temporary, and clang::CodeGen::CallArgList::Writeback::ToUse.
Referenced by emitWritebackArg().
void CallArgList::allocateArgumentMemory | ( | CodeGenFunction & | CGF | ) |
Definition at line 2755 of file CGCall.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::CreateTempAlloca(), clang::CodeGen::EHCleanup, clang::CodeGen::CodeGenFunction::EHStack, clang::CodeGen::EHScopeStack::getInnermostEHScope(), clang::CodeGen::CodeGenModule::getIntrinsic(), clang::CodeGen::CodeGenTypeCache::Int8PtrTy, and clang::CodeGen::CodeGenFunction::pushStackRestore().
Referenced by clang::CodeGen::CodeGenFunction::EmitCallArgs().
void CallArgList::freeArgumentMemory | ( | CodeGenFunction & | CGF | ) | const |
Definition at line 2773 of file CGCall.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::DeactivateCleanupBlock(), and clang::CodeGen::CodeGenModule::getIntrinsic().
Referenced by clang::CodeGen::CodeGenFunction::EmitCall().
|
inline |
Definition at line 117 of file CGCall.h.
Referenced by deactivateArgCleanupsBeforeCall(), and clang::CodeGen::CodeGenFunction::EmitCall().
|
inline |
Definition at line 122 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall().
|
inline |
Definition at line 100 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall().
|
inline |
Returns if we're using an inalloca struct to pass arguments in memory.
Definition at line 127 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallArg().
|
inline |
Definition at line 105 of file CGCall.h.
Referenced by emitWritebacks().