From a5a4f874745d9d4af4088b6d136e82e41afedf36 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 19 Sep 2014 04:30:36 +0000 Subject: [PATCH] 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 --- lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 3 +++ test/DebugInfo/{cu-line-tables.ll => gmlt.ll} | 9 +++++++++ 2 files changed, 12 insertions(+) rename test/DebugInfo/{cu-line-tables.ll => gmlt.ll} (90%) 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. -- 2.50.1