diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-07-16 00:00:15 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-07-16 00:00:15 +0000 |
commit | 900546d2e306ee1864a3ca1ba1331e62ba22d0fe (patch) | |
tree | 881242c0ebecd84d979c6871ae356122f647fe54 /clang/lib/CodeGen/CodeGenModule.h | |
parent | 01ad0a78d06ee2e71f75e6687075c6213ba502a6 (diff) | |
download | llvm-900546d2e306ee1864a3ca1ba1331e62ba22d0fe.zip llvm-900546d2e306ee1864a3ca1ba1331e62ba22d0fe.tar.gz llvm-900546d2e306ee1864a3ca1ba1331e62ba22d0fe.tar.bz2 |
IRgen: Move blocks runtime interfaces to CodeGenModule.
llvm-svn: 108481
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenModule.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h index 05d02ec..f3bd307 100644 --- a/clang/lib/CodeGen/CodeGenModule.h +++ b/clang/lib/CodeGen/CodeGenModule.h @@ -193,6 +193,16 @@ class CodeGenModule : public BlockModule { void createCXXABI(); llvm::LLVMContext &VMContext; + + /// @name Cache for Blocks Runtime Globals + /// @{ + + llvm::Constant *NSConcreteGlobalBlock; + llvm::Constant *NSConcreteStackBlock; + llvm::Constant *BlockObjectAssign; + llvm::Constant *BlockObjectDispose; + + /// @} public: CodeGenModule(ASTContext &C, const CodeGenOptions &CodeGenOpts, llvm::Module &M, const llvm::TargetData &TD, Diagnostic &Diags); @@ -398,6 +408,16 @@ public: llvm::Constant *CreateRuntimeVariable(const llvm::Type *Ty, llvm::StringRef Name); + ///@name Custom Blocks Runtime Interfaces + ///@{ + + llvm::Constant *getNSConcreteGlobalBlock(); + llvm::Constant *getNSConcreteStackBlock(); + llvm::Constant *getBlockObjectAssign(); + llvm::Constant *getBlockObjectDispose(); + + ///@} + void UpdateCompletedType(const TagDecl *TD) { // Make sure that this type is translated. Types.UpdateCompletedType(TD); |