summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2016-08-24 18:29:49 +0000
committerDavid Blaikie <dblaikie@gmail.com>2016-08-24 18:29:49 +0000
commita01f29532289f5fbebcc4f9bc5399fec0c715807 (patch)
tree6a2b6698b1d341f94b4e81a1e39679eaa1df790e /llvm/lib/CodeGen
parentabd2be1e2e529c096dea280464ac1972977a7ecd (diff)
downloadbcm5719-llvm-a01f29532289f5fbebcc4f9bc5399fec0c715807.tar.gz
bcm5719-llvm-a01f29532289f5fbebcc4f9bc5399fec0c715807.zip
DebugInfo: Add flag to CU to disable emission of inline debug info into the skeleton CU
In cases where .dwo/.dwp files are guaranteed to be available, skipping the extra online (in the .o file) inline info can save a substantial amount of space - see the original r221306 for more details there. llvm-svn: 279650
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index f3c84a57f7e..d2fb6fe8e38 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -352,7 +352,8 @@ bool DwarfDebug::isLexicalScopeDIENull(LexicalScope *Scope) {
template <typename Func> static void forBothCUs(DwarfCompileUnit &CU, Func F) {
F(CU);
if (auto *SkelCU = CU.getSkeleton())
- F(*SkelCU);
+ if (CU.getCUNode()->getSplitDebugInlining())
+ F(*SkelCU);
}
void DwarfDebug::constructAbstractSubprogramScopeDIE(LexicalScope *Scope) {
@@ -1155,7 +1156,8 @@ void DwarfDebug::endFunction(const MachineFunction *MF) {
TheCU.constructSubprogramScopeDIE(FnScope);
if (auto *SkelCU = TheCU.getSkeleton())
- if (!LScopes.getAbstractScopesList().empty())
+ if (!LScopes.getAbstractScopesList().empty() &&
+ TheCU.getCUNode()->getSplitDebugInlining())
SkelCU->constructSubprogramScopeDIE(FnScope);
// Clear debug info
OpenPOWER on IntegriCloud