class BlockByrefHelpers

Declaration

class BlockByrefHelpers : public Node { /* full declaration omitted */ };

Description

A pair of helper functions for a __block variable.

Declared at: clang/lib/CodeGen/CodeGenModule.h:247

Inherits from: FoldingSetBase::Node

Member Variables

public llvm::Constant* CopyHelper
public llvm::Constant* DisposeHelper
public clang::CharUnits Alignment
The alignment of the field. This is important because different offsets to the field within the byref struct need to have different helper functions.

Method Overview

  • public BlockByrefHelpers(clang::CharUnits alignment)
  • public BlockByrefHelpers(const clang::CodeGen::BlockByrefHelpers &)
  • public void Profile(llvm::FoldingSetNodeID & id) const
  • public virtual void emitCopy(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::Address dest, clang::CodeGen::Address src)
  • public virtual void emitDispose(clang::CodeGen::CodeGenFunction & CGF, clang::CodeGen::Address field)
  • public virtual bool needsCopy() const
  • public virtual bool needsDispose() const
  • public virtual void profileImpl(llvm::FoldingSetNodeID & id) const
  • public virtual ~BlockByrefHelpers()

Inherited from FoldingSetBase::Node:

Methods

BlockByrefHelpers(clang::CharUnits alignment)

Declared at: clang/lib/CodeGen/CodeGenModule.h:259

Parameters

clang::CharUnits alignment

BlockByrefHelpers(
    const clang::CodeGen::BlockByrefHelpers&)

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

Parameters

const clang::CodeGen::BlockByrefHelpers&

void Profile(llvm::FoldingSetNodeID& id) const

Declared at: clang/lib/CodeGen/CodeGenModule.h:264

Parameters

llvm::FoldingSetNodeID& id

virtual void emitCopy(
    clang::CodeGen::CodeGenFunction& CGF,
    clang::CodeGen::Address dest,
    clang::CodeGen::Address src)

Declared at: clang/lib/CodeGen/CodeGenModule.h:271

Parameters

clang::CodeGen::CodeGenFunction& CGF
clang::CodeGen::Address dest
clang::CodeGen::Address src

virtual void emitDispose(
    clang::CodeGen::CodeGenFunction& CGF,
    clang::CodeGen::Address field)

Declared at: clang/lib/CodeGen/CodeGenModule.h:274

Parameters

clang::CodeGen::CodeGenFunction& CGF
clang::CodeGen::Address field

virtual bool needsCopy() const

Declared at: clang/lib/CodeGen/CodeGenModule.h:270

virtual bool needsDispose() const

Declared at: clang/lib/CodeGen/CodeGenModule.h:273

virtual void profileImpl(
    llvm::FoldingSetNodeID& id) const

Declared at: clang/lib/CodeGen/CodeGenModule.h:268

Parameters

llvm::FoldingSetNodeID& id

virtual ~BlockByrefHelpers()

Declared at: clang/lib/CodeGen/CodeGenModule.h:262