From 0892099dbc640720400a1d9decd2733a09d733e5 Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Sat, 7 Mar 2009 02:35:30 +0000 Subject: Codegen support for copy helpers for block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66319 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/CodeGenFunction.h | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'lib/CodeGen/CodeGenFunction.h') diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 2ac886d840..0b34d7a92d 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -266,7 +266,9 @@ public: //===--------------------------------------------------------------------===// llvm::Value *BuildBlockLiteralTmp(const BlockExpr *); - llvm::Constant *BuildDescriptorBlockDecl(uint64_t Size, const llvm::Type *); + llvm::Constant *BuildDescriptorBlockDecl(uint64_t Size, + const llvm::StructType *, + std::vector *); llvm::Function *GenerateBlockFunction(const BlockExpr *BExpr, const BlockInfo& Info, @@ -276,26 +278,6 @@ public: llvm::Value *LoadBlockStruct(); - /// BlockHasCopyDispose - True iff the block uses copy/dispose. - bool BlockHasCopyDispose; - - /// BlockDeclRefDecls - Decls from BlockDeclRefExprs in apperance order - /// in a block literal. Decls without names are used for padding. - llvm::SmallVector BlockDeclRefDecls; - - /// BlockOffset - The offset in bytes for the next allocation of an - /// imported block variable. - uint64_t BlockOffset; - /// BlockAlign - Maximal alignment needed for the Block expressed in bytes. - uint64_t BlockAlign; - - /// getBlockOffset - Allocate an offset for the ValueDecl from a - /// BlockDeclRefExpr in a block literal (BlockExpr). - uint64_t getBlockOffset(const BlockDeclRefExpr *E); - - /// BlockDecls - Offsets for all Decls in BlockDeclRefExprs. - std::map BlockDecls; - llvm::Value *GetAddrOfBlockDecl(const BlockDeclRefExpr *E); const llvm::Type *BuildByRefType(QualType Ty, uint64_t Align); -- cgit v1.2.3-70-g09d2