From: David Blaikie Date: Fri, 19 Sep 2014 04:55:05 +0000 (+0000) Subject: Omit DW_AT_frame_base under -gmlt for size X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a562871c6749db0e6448426882c40bc4e1346e52;p=llvm Omit DW_AT_frame_base under -gmlt for size git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218100 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 1e5d09b410f..845506fbfb2 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -319,9 +319,13 @@ DIE &DwarfDebug::updateSubprogramScopeDIE(DwarfCompileUnit &SPCU, attachLowHighPC(SPCU, *SPDie, FunctionBeginSym, FunctionEndSym); - const TargetRegisterInfo *RI = Asm->TM.getSubtargetImpl()->getRegisterInfo(); - MachineLocation Location(RI->getFrameRegister(*Asm->MF)); - SPCU.addAddress(*SPDie, dwarf::DW_AT_frame_base, Location); + // Only include DW_AT_frame_base in full debug info + if (SPCU.getCUNode().getEmissionKind() != DIBuilder::LineTablesOnly) { + const TargetRegisterInfo *RI = + Asm->TM.getSubtargetImpl()->getRegisterInfo(); + MachineLocation Location(RI->getFrameRegister(*Asm->MF)); + SPCU.addAddress(*SPDie, dwarf::DW_AT_frame_base, Location); + } // Add name to the name table, we do this here because we're guaranteed // to have concrete versions of our DW_TAG_subprogram nodes. diff --git a/test/DebugInfo/gmlt.ll b/test/DebugInfo/gmlt.ll index 3ace56feae5..9271b2ed9c9 100644 --- a/test/DebugInfo/gmlt.ll +++ b/test/DebugInfo/gmlt.ll @@ -21,8 +21,6 @@ ; CHECK: DW_TAG_subprogram ; CHECK-NEXT: DW_AT_low_pc ; CHECK-NEXT: DW_AT_high_pc -; FIXME: We don't need the DW_AT_frame_base for -gmlt. -; CHECK-NEXT: DW_AT_frame_base ; CHECK-NEXT: DW_AT_name ; CHECK-NOT: DW_AT ; CHECK: {{DW_TAG|NULL}}