clang API Documentation
A pair of helper functions for a __block variable. More...
#include <CodeGenModule.h>
Public Member Functions | |
ByrefHelpers (CharUnits alignment) | |
virtual | ~ByrefHelpers () |
void | Profile (llvm::FoldingSetNodeID &id) const |
virtual void | profileImpl (llvm::FoldingSetNodeID &id) const =0 |
virtual bool | needsCopy () const |
virtual void | emitCopy (CodeGenFunction &CGF, llvm::Value *dest, llvm::Value *src)=0 |
virtual bool | needsDispose () const |
virtual void | emitDispose (CodeGenFunction &CGF, llvm::Value *field)=0 |
Public Attributes | |
llvm::Constant * | CopyHelper |
llvm::Constant * | DisposeHelper |
CharUnits | Alignment |
A pair of helper functions for a __block variable.
Definition at line 733 of file CodeGenModule.h.
clang::CodeGen::CodeGenModule::ByrefHelpers::ByrefHelpers | ( | CharUnits | alignment | ) | [inline] |
Definition at line 743 of file CodeGenModule.h.
CodeGenModule::ByrefHelpers::~ByrefHelpers | ( | ) | [virtual] |
Definition at line 43 of file CGBlocks.cpp.
virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::emitCopy | ( | CodeGenFunction & | CGF, |
llvm::Value * | dest, | ||
llvm::Value * | src | ||
) | [pure virtual] |
Referenced by generateByrefCopyHelper().
virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::emitDispose | ( | CodeGenFunction & | CGF, |
llvm::Value * | field | ||
) | [pure virtual] |
Referenced by generateByrefDisposeHelper().
virtual bool clang::CodeGen::CodeGenModule::ByrefHelpers::needsCopy | ( | ) | const [inline, virtual] |
Definition at line 752 of file CodeGenModule.h.
Referenced by generateByrefCopyHelper().
virtual bool clang::CodeGen::CodeGenModule::ByrefHelpers::needsDispose | ( | ) | const [inline, virtual] |
Definition at line 756 of file CodeGenModule.h.
Referenced by generateByrefDisposeHelper().
void clang::CodeGen::CodeGenModule::ByrefHelpers::Profile | ( | llvm::FoldingSetNodeID & | id | ) | const [inline] |
Definition at line 746 of file CodeGenModule.h.
References Alignment, clang::CharUnits::getQuantity(), and profileImpl().
virtual void clang::CodeGen::CodeGenModule::ByrefHelpers::profileImpl | ( | llvm::FoldingSetNodeID & | id | ) | const [pure virtual] |
Referenced by Profile().
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 741 of file CodeGenModule.h.
Referenced by Profile().
llvm::Constant* clang::CodeGen::CodeGenModule::ByrefHelpers::CopyHelper |
Definition at line 735 of file CodeGenModule.h.
llvm::Constant* clang::CodeGen::CodeGenModule::ByrefHelpers::DisposeHelper |
Definition at line 736 of file CodeGenModule.h.