clang API Documentation
#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. | |
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 |
| clang::CodeGen::CallArgList::CallArgList | ( | ) | [inline] |
| void clang::CodeGen::CallArgList::add | ( | RValue | rvalue, |
| QualType | type, | ||
| bool | needscopy = false |
||
| ) | [inline] |
Definition at line 81 of file CGCall.h.
Referenced by AddDirectArgument(), commonEmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), 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(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), and clang::CodeGen::CodeGenFunction::generateObjCSetterBody().
| void clang::CodeGen::CallArgList::addArgCleanupDeactivation | ( | EHScopeStack::stable_iterator | Cleanup, |
| llvm::Instruction * | IsActiveIP | ||
| ) | [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().
| void clang::CodeGen::CallArgList::addFrom | ( | const CallArgList & | other | ) | [inline] |
| void clang::CodeGen::CallArgList::addWriteback | ( | LValue | srcLV, |
| llvm::Value * | temporary, | ||
| llvm::Value * | toUse | ||
| ) | [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 2591 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 2609 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().
| ArrayRef<CallArgCleanup> clang::CodeGen::CallArgList::getCleanupsToDeactivate | ( | ) | const [inline] |
Definition at line 117 of file CGCall.h.
Referenced by deactivateArgCleanupsBeforeCall(), and clang::CodeGen::CodeGenFunction::EmitCall().
| llvm::Instruction* clang::CodeGen::CallArgList::getStackBase | ( | ) | const [inline] |
Definition at line 122 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall().
| bool clang::CodeGen::CallArgList::hasWritebacks | ( | ) | const [inline] |
Definition at line 100 of file CGCall.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCall().
| bool clang::CodeGen::CallArgList::isUsingInAlloca | ( | ) | const [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().
| writeback_const_range clang::CodeGen::CallArgList::writebacks | ( | ) | const [inline] |
Definition at line 105 of file CGCall.h.
Referenced by emitWritebacks().