[llvm] r218713 - DebugInfo: Sink the code emitting DW_AT_APPLE_omit_frame_ptr down to a more common spot.
David Blaikie
dblaikie at gmail.com
Tue Sep 30 15:32:49 PDT 2014
Author: dblaikie
Date: Tue Sep 30 17:32:49 2014
New Revision: 218713
URL: http://llvm.org/viewvc/llvm-project?rev=218713&view=rev
Log:
DebugInfo: Sink the code emitting DW_AT_APPLE_omit_frame_ptr down to a more common spot.
No functional change. Pre-emptive refactoring before I start pushing
some of this subprogram creation down into DWARFCompileUnit so I can
build different subprograms in the skeleton unit from the dwo unit for
adding -gmlt-like data to the skeleton.
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=218713&r1=218712&r2=218713&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Tue Sep 30 17:32:49 2014
@@ -317,6 +317,8 @@ DIE &DwarfDebug::updateSubprogramScopeDI
DIE *SPDie = SPCU.getOrCreateSubprogramDIE(SP);
attachLowHighPC(SPCU, *SPDie, FunctionBeginSym, FunctionEndSym);
+ if (!CurFn->getTarget().Options.DisableFramePointerElim(*CurFn))
+ SPCU.addFlag(*SPDie, dwarf::DW_AT_APPLE_omit_frame_ptr);
// Only include DW_AT_frame_base in full debug info
if (SPCU.getCUNode().getEmissionKind() != DIBuilder::LineTablesOnly) {
@@ -529,7 +531,7 @@ void DwarfDebug::constructAbstractSubpro
SPCU.addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
}
-DIE &DwarfDebug::constructSubprogramScopeDIE(DwarfCompileUnit &TheCU,
+void DwarfDebug::constructSubprogramScopeDIE(DwarfCompileUnit &TheCU,
LexicalScope *Scope) {
assert(Scope && Scope->getScopeNode());
assert(!Scope->getInlinedAt());
@@ -569,8 +571,6 @@ DIE &DwarfDebug::constructSubprogramScop
if (ObjectPointer)
TheCU.addDIEEntry(ScopeDIE, dwarf::DW_AT_object_pointer, *ObjectPointer);
-
- return ScopeDIE;
}
// Construct a DIE for this scope.
@@ -1725,9 +1725,7 @@ void DwarfDebug::endFunction(const Machi
constructAbstractSubprogramScopeDIE(TheCU, AScope);
}
- DIE &CurFnDIE = constructSubprogramScopeDIE(TheCU, FnScope);
- if (!CurFn->getTarget().Options.DisableFramePointerElim(*CurFn))
- TheCU.addFlag(CurFnDIE, dwarf::DW_AT_APPLE_omit_frame_ptr);
+ constructSubprogramScopeDIE(TheCU, FnScope);
// Clear debug info
// Ownership of DbgVariables is a bit subtle - ScopeVariables owns all the
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h?rev=218713&r1=218712&r2=218713&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h Tue Sep 30 17:32:49 2014
@@ -382,7 +382,7 @@ class DwarfDebug : public AsmPrinterHand
void constructAbstractSubprogramScopeDIE(DwarfCompileUnit &TheCU,
LexicalScope *Scope);
/// \brief Construct a DIE for this subprogram scope.
- DIE &constructSubprogramScopeDIE(DwarfCompileUnit &TheCU,
+ void constructSubprogramScopeDIE(DwarfCompileUnit &TheCU,
LexicalScope *Scope);
/// A helper function to create children of a Scope DIE.
DIE *createScopeChildrenDIE(DwarfCompileUnit &TheCU, LexicalScope *Scope,
More information about the llvm-commits
mailing list