From: David Blaikie Date: Fri, 19 Sep 2014 04:30:36 +0000 (+0000) Subject: Omit all the extra static attributes on subprograms in -gmlt X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a5a4f874745d9d4af4088b6d136e82e41afedf36;p=llvm Omit all the extra static attributes on subprograms in -gmlt This omission will be done in a fancier manner once we're dealing with "put gmlt in the skeleton CUs under fission" - it'll have to be conditional on the kind of CU we're emitting into (skeleton or gmlt). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218098 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 8561b5dd4f4..0c3c258e1f7 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -1482,6 +1482,9 @@ void DwarfUnit::applySubprogramAttributes(DISubprogram SP, DIE &SPDie) { if (!SP.getName().empty()) addString(SPDie, dwarf::DW_AT_name, SP.getName()); + if(getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly) + return; + addSourceLine(SPDie, SP); // Add the prototype if we have a prototype and we have a C like diff --git a/test/DebugInfo/cu-line-tables.ll b/test/DebugInfo/gmlt.ll similarity index 90% rename from test/DebugInfo/cu-line-tables.ll rename to test/DebugInfo/gmlt.ll index f81b01e54cb..3ace56feae5 100644 --- a/test/DebugInfo/cu-line-tables.ll +++ b/test/DebugInfo/gmlt.ll @@ -16,6 +16,15 @@ ; attribute on the CU. ; CHECK: DW_TAG_compile_unit ; CHECK-NOT: DW_AT_ranges +; CHECK-NOT: {{DW_TAG|NULL}} +; Check that we only provide the minimal attributes on a subprogram to save space. +; 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}} ; FIXME: We probably want to avoid printing out anything if the section isn't there.