class CodeGenFunction::AutoVarEmission

Declaration

class CodeGenFunction::AutoVarEmission { /* full declaration omitted */ };

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3051

Member Variables

private const clang::VarDecl* Variable
private clang::CodeGen::Address Addr
The address of the alloca for languages with explicit address space (e.g. OpenCL) or alloca casted to generic pointer for address space agnostic languages (e.g. C++). Invalid if the variable was emitted as a global constant.
private llvm::Value* NRVOFlag
private bool IsEscapingByRef
True if the variable is a __block variable that is captured by an escaping block.
private bool IsConstantAggregate
True if the variable is of aggregate type and has a constant initializer.
private llvm::Value* SizeForLifetimeMarkers
Non-null if we should use lifetime annotations.
private clang::CodeGen::Address AllocaAddr
Address with original alloca instruction. Invalid if the variable was emitted as a global constant.

Method Overview

Methods

AutoVarEmission(clang::CodeGen::CodeGenFunction::
                    AutoVarEmission::Invalid)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3080

Parameters

clang::CodeGen::CodeGenFunction::AutoVarEmission:: Invalid

AutoVarEmission(const clang::VarDecl& variable)

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3084

Parameters

const clang::VarDecl& variable

clang::CodeGen::Address getAllocatedAddress()
    const

Description

Returns the raw, allocated address, which is not necessarily the address of the object itself. It is casted to default address space for address space agnostic languages.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3105

clang::CodeGen::Address getObjectAddress(
    clang::CodeGen::CodeGenFunction& CGF) const

Description

Returns the address of the object within this declaration. Note that this does not chase the forwarding pointer for __block decls.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3115

Parameters

clang::CodeGen::CodeGenFunction& CGF

clang::CodeGen::Address
getOriginalAllocatedAddress() const

Description

Returns the address for the original alloca instruction.

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3110

llvm::Value* getSizeForLifetimeMarkers() const

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3097

static clang::CodeGen::CodeGenFunction::
    AutoVarEmission
    invalid()

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3092

bool useLifetimeMarkers() const

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3094

bool wasEmittedAsGlobal() const

Declared at: clang/lib/CodeGen/CodeGenFunction.h:3089