summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-08-16 20:40:29 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-08-16 20:40:29 +0000
commit9eddbbd563629fbb11d5d1840194fa46132ddca4 (patch)
tree8b9e334d422c0105f5988a8e45784567707cf5b6 /clang/lib/CodeGen/CGDebugInfo.h
parentab255bb9cf0fd2814c374e3c2ed3fd7ff957ffdc (diff)
downloadbcm5719-llvm-9eddbbd563629fbb11d5d1840194fa46132ddca4.tar.gz
bcm5719-llvm-9eddbbd563629fbb11d5d1840194fa46132ddca4.zip
DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class
This reduces Clang's .dwo (fission debug info) size by 23% over Clang+LLVM. llvm-svn: 188576
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.h')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.h b/clang/lib/CodeGen/CGDebugInfo.h
index 39436e18a72..51a937bfced 100644
--- a/clang/lib/CodeGen/CGDebugInfo.h
+++ b/clang/lib/CodeGen/CGDebugInfo.h
@@ -290,7 +290,7 @@ public:
void completeType(const RecordDecl *RD);
void completeRequiredType(const RecordDecl *RD);
-
+ void completeClassData(const RecordDecl *RD);
private:
/// EmitDeclare - Emit call to llvm.dbg.declare for a variable declaration.
@@ -353,10 +353,13 @@ private:
/// declaration for the given method definition.
llvm::DISubprogram getFunctionDeclaration(const Decl *D);
- /// getStaticDataMemberDeclaration - Return debug info descriptor to
- /// describe in-class static data member declaration for the given
- /// out-of-class definition.
- llvm::DIDerivedType getStaticDataMemberDeclaration(const VarDecl *D);
+ /// Return debug info descriptor to describe in-class static data member
+ /// declaration for the given out-of-class definition.
+ llvm::DIDerivedType
+ getOrCreateStaticDataMemberDeclarationOrNull(const VarDecl *D);
+ llvm::DIDerivedType
+ getOrCreateStaticDataMemberDeclaration(const VarDecl *D,
+ llvm::DICompositeType Ctxt);
/// getFunctionName - Get function name for the given FunctionDecl. If the
/// name is constructred on demand (e.g. C++ destructor) then the name
OpenPOWER on IntegriCloud