clang  10.0.0svn
Public Member Functions | Public Attributes | List of all members
clang::CodeGen::BlockByrefHelpers Class Referenceabstract

A pair of helper functions for a __block variable. More...

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CodeGenModule.h"

Inheritance diagram for clang::CodeGen::BlockByrefHelpers:
Inheritance graph
Collaboration diagram for clang::CodeGen::BlockByrefHelpers:
Collaboration graph

Public Member Functions

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

Public Attributes

llvm::Constant * CopyHelper
llvm::Constant * DisposeHelper
CharUnits Alignment
 The alignment of the field. More...

Detailed Description

A pair of helper functions for a __block variable.

Definition at line 245 of file CodeGenModule.h.

Constructor & Destructor Documentation

◆ BlockByrefHelpers() [1/2]

clang::CodeGen::BlockByrefHelpers::BlockByrefHelpers ( CharUnits  alignment)

Definition at line 257 of file CodeGenModule.h.

◆ BlockByrefHelpers() [2/2]

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

◆ ~BlockByrefHelpers()

BlockByrefHelpers::~BlockByrefHelpers ( )

Definition at line 47 of file CGBlocks.cpp.

References buildGlobalBlock().

Member Function Documentation

◆ emitCopy()

virtual void clang::CodeGen::BlockByrefHelpers::emitCopy ( CodeGenFunction CGF,
Address  dest,
Address  src 
pure virtual

◆ emitDispose()

virtual void clang::CodeGen::BlockByrefHelpers::emitDispose ( CodeGenFunction CGF,
Address  field 
pure virtual

◆ needsCopy()

virtual bool clang::CodeGen::BlockByrefHelpers::needsCopy ( ) const

Definition at line 268 of file CodeGenModule.h.

◆ needsDispose()

virtual bool clang::CodeGen::BlockByrefHelpers::needsDispose ( ) const

Definition at line 271 of file CodeGenModule.h.

◆ Profile()

void clang::CodeGen::BlockByrefHelpers::Profile ( llvm::FoldingSetNodeID &  id) const

Definition at line 262 of file CodeGenModule.h.

References clang::CharUnits::getQuantity().

◆ profileImpl()

virtual void clang::CodeGen::BlockByrefHelpers::profileImpl ( llvm::FoldingSetNodeID &  id) const
pure virtual

Member Data Documentation

◆ Alignment

CharUnits clang::CodeGen::BlockByrefHelpers::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.

Definition at line 255 of file CodeGenModule.h.

◆ CopyHelper

llvm::Constant* clang::CodeGen::BlockByrefHelpers::CopyHelper

Definition at line 249 of file CodeGenModule.h.

◆ DisposeHelper

llvm::Constant* clang::CodeGen::BlockByrefHelpers::DisposeHelper

Definition at line 250 of file CodeGenModule.h.

The documentation for this class was generated from the following files: