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)
BlockByrefHelpers(clang::CharUnits alignment)
Declared at: clang/lib/CodeGen/CodeGenModule.h:259
Parameters
- clang::CharUnits alignment
¶BlockByrefHelpers(
const clang::CodeGen::BlockByrefHelpers&)
BlockByrefHelpers(
const clang::CodeGen::BlockByrefHelpers&)
Declared at: clang/lib/CodeGen/CodeGenModule.h:261
Parameters
¶void Profile(llvm::FoldingSetNodeID& id) const
void Profile(llvm::FoldingSetNodeID& id) const
Declared at: clang/lib/CodeGen/CodeGenModule.h:264
Parameters
¶virtual void emitCopy(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::Address dest,
clang::CodeGen::Address src)
virtual void emitCopy(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::Address dest,
clang::CodeGen::Address src)
Declared at: clang/lib/CodeGen/CodeGenModule.h:271
Parameters
¶virtual void emitDispose(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::Address field)
virtual void emitDispose(
clang::CodeGen::CodeGenFunction& CGF,
clang::CodeGen::Address field)
Declared at: clang/lib/CodeGen/CodeGenModule.h:274
Parameters
¶virtual bool needsCopy() const
virtual bool needsCopy() const
Declared at: clang/lib/CodeGen/CodeGenModule.h:270
¶virtual bool needsDispose() const
virtual bool needsDispose() const
Declared at: clang/lib/CodeGen/CodeGenModule.h:273
¶virtual void profileImpl(
llvm::FoldingSetNodeID& id) const
virtual void profileImpl(
llvm::FoldingSetNodeID& id) const
Declared at: clang/lib/CodeGen/CodeGenModule.h:268
Parameters
¶virtual ~BlockByrefHelpers()
virtual ~BlockByrefHelpers()
Declared at: clang/lib/CodeGen/CodeGenModule.h:262