class CallArgList
Declaration
class CallArgList : public SmallVector { /* full declaration omitted */ };
Description
CallArgList - Type for representing both the value and type of arguments in a call.
Declared at: clang/lib/CodeGen/CGCall.h:259
Inherits from: SmallVector
Member Variables
- private SmallVector< clang::CodeGen::CallArgList::Writeback, 1> Writebacks
- private SmallVector< clang::CodeGen::CallArgList::CallArgCleanup, 1> CleanupsToDeactivate
- Deactivate these cleanups immediately before making the call. This is used to cleanup objects that are owned by the callee once the call occurs.
- private llvm::CallInst* StackBase
- The stacksave call. It dominates all of the argument evaluation.
Method Overview
- public CallArgList()
- public void add(clang::CodeGen::RValue rvalue, clang::QualType type)
- public void addArgCleanupDeactivation(EHScopeStack::stable_iterator Cleanup, llvm::Instruction * IsActiveIP)
- public void addFrom(const clang::CodeGen::CallArgList & other)
- public void addUncopiedAggregate(clang::CodeGen::LValue LV, clang::QualType type)
- public void addWriteback(clang::CodeGen::LValue srcLV, clang::CodeGen::Address temporary, llvm::Value * toUse)
- public void allocateArgumentMemory(clang::CodeGen::CodeGenFunction & CGF)
- public void freeArgumentMemory(clang::CodeGen::CodeGenFunction & CGF) const
- public ArrayRef<clang::CodeGen::CallArgList::CallArgCleanup> getCleanupsToDeactivate() const
- public llvm::Instruction * getStackBase() const
- public bool hasWritebacks() const
- public bool isUsingInAlloca() const
- public clang::CodeGen::CallArgList::writeback_const_range writebacks() const
Methods
¶CallArgList()
CallArgList()
Declared at: clang/lib/CodeGen/CGCall.h:261
¶void add(clang::CodeGen::RValue rvalue,
clang::QualType type)
void add(clang::CodeGen::RValue rvalue,
clang::QualType type)
Declared at: clang/lib/CodeGen/CGCall.h:283
Parameters
- clang::CodeGen::RValue rvalue
- clang::QualType type
¶void addArgCleanupDeactivation(
EHScopeStack::stable_iterator Cleanup,
llvm::Instruction* IsActiveIP)
void addArgCleanupDeactivation(
EHScopeStack::stable_iterator Cleanup,
llvm::Instruction* IsActiveIP)
Declared at: clang/lib/CodeGen/CGCall.h:318
Parameters
- EHScopeStack::stable_iterator Cleanup
- llvm::Instruction* IsActiveIP
¶void addFrom(
const clang::CodeGen::CallArgList& other)
void addFrom(
const clang::CodeGen::CallArgList& other)
Description
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.
Declared at: clang/lib/CodeGen/CGCall.h:292
Parameters
- const clang::CodeGen::CallArgList& other
¶void addUncopiedAggregate(
clang::CodeGen::LValue LV,
clang::QualType type)
void addUncopiedAggregate(
clang::CodeGen::LValue LV,
clang::QualType type)
Declared at: clang/lib/CodeGen/CGCall.h:285
Parameters
¶void addWriteback(
clang::CodeGen::LValue srcLV,
clang::CodeGen::Address temporary,
llvm::Value* toUse)
void addWriteback(
clang::CodeGen::LValue srcLV,
clang::CodeGen::Address temporary,
llvm::Value* toUse)
Declared at: clang/lib/CodeGen/CGCall.h:304
Parameters
- clang::CodeGen::LValue srcLV
- clang::CodeGen::Address temporary
- llvm::Value* toUse
¶void allocateArgumentMemory(
clang::CodeGen::CodeGenFunction& CGF)
void allocateArgumentMemory(
clang::CodeGen::CodeGenFunction& CGF)
Declared at: clang/lib/CodeGen/CGCall.h:330
Parameters
¶void freeArgumentMemory(
clang::CodeGen::CodeGenFunction& CGF) const
void freeArgumentMemory(
clang::CodeGen::CodeGenFunction& CGF) const
Declared at: clang/lib/CodeGen/CGCall.h:332
Parameters
¶ArrayRef<
clang::CodeGen::CallArgList::CallArgCleanup>
getCleanupsToDeactivate() const
ArrayRef<
clang::CodeGen::CallArgList::CallArgCleanup>
getCleanupsToDeactivate() const
Declared at: clang/lib/CodeGen/CGCall.h:326
¶llvm::Instruction* getStackBase() const
llvm::Instruction* getStackBase() const
Declared at: clang/lib/CodeGen/CGCall.h:331
¶bool hasWritebacks() const
bool hasWritebacks() const
Declared at: clang/lib/CodeGen/CGCall.h:309
¶bool isUsingInAlloca() const
bool isUsingInAlloca() const
Description
Returns if we're using an inalloca struct to pass arguments in memory.
Declared at: clang/lib/CodeGen/CGCall.h:336
¶clang::CodeGen::CallArgList::writeback_const_range
writebacks() const
clang::CodeGen::CallArgList::writeback_const_range
writebacks() const
Declared at: clang/lib/CodeGen/CGCall.h:314