summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVTables.cpp
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/CGVTables.cpp
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/CGVTables.cpp')
-rw-r--r--clang/lib/CodeGen/CGVTables.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp
index c7bb54e0699..6649578fc09 100644
--- a/clang/lib/CodeGen/CGVTables.cpp
+++ b/clang/lib/CodeGen/CGVTables.cpp
@@ -828,6 +828,9 @@ CodeGenVTables::GenerateClassData(const CXXRecordDecl *RD) {
VFTContext->getVFPtrOffsets(RD);
}
+ if (CGDebugInfo *DI = CGM.getModuleDebugInfo())
+ DI->completeClassData(RD);
+
// First off, check whether we've already emitted the v-table and
// associated stuff.
llvm::GlobalVariable *VTable = GetAddrOfVTable(RD);
OpenPOWER on IntegriCloud