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

Methods

CallArgList()

Declared at: clang/lib/CodeGen/CGCall.h:261

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)

Declared at: clang/lib/CodeGen/CGCall.h:318

Parameters

EHScopeStack::stable_iterator Cleanup
llvm::Instruction* IsActiveIP

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)

Declared at: clang/lib/CodeGen/CGCall.h:285

Parameters

clang::CodeGen::LValue LV
clang::QualType type

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)

Declared at: clang/lib/CodeGen/CGCall.h:330

Parameters

clang::CodeGen::CodeGenFunction& CGF

void freeArgumentMemory(
    clang::CodeGen::CodeGenFunction& CGF) const

Declared at: clang/lib/CodeGen/CGCall.h:332

Parameters

clang::CodeGen::CodeGenFunction& CGF

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

Declared at: clang/lib/CodeGen/CGCall.h:326

llvm::Instruction* getStackBase() const

Declared at: clang/lib/CodeGen/CGCall.h:331

bool hasWritebacks() const

Declared at: clang/lib/CodeGen/CGCall.h:309

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

Declared at: clang/lib/CodeGen/CGCall.h:314