From 87758632ea852bf0d1ce602b8cd316a8cbbb20d0 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Mon, 17 Dec 2018 08:27:19 +0000 Subject: [PATCH] DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses) GCC emitted these unconditionally on/before 4.4/March 2012 Clang emitted these unconditionally on/before 3.5/March 2014 This improves performance when parsing CUs (especially those using split DWARF) that contain no code ranges (such as the mini CUs that may be created by ThinLTO importing - though generally they should be/are avoided, especially for Split DWARF because it produces a lot of very small CUs, which don't scale well in a bunch of other ways too (including size)). llvm-svn: 349333 --- lib/DebugInfo/DWARF/DWARFUnit.cpp | 21 ------- .../Inputs/dwarfdump-test.elf-x86-64 | Bin 9640 -> 17864 bytes .../dwarfdump-test.elf-x86-64.debuglink | Bin 8668 -> 16288 bytes .../Inputs/llvm-symbolizer-test.elf-x86-64 | Bin 10693 -> 17200 bytes test/DebugInfo/Inputs/test-inline.o | Bin 6040 -> 2968 bytes test/DebugInfo/Inputs/test-parameters.o | Bin 5792 -> 2352 bytes test/DebugInfo/debuglineinfo.test | 53 ++++-------------- ...ymbolizer-split-dwarf-no-skel-address.test | 7 ++- test/DebugInfo/llvm-symbolizer.test | 20 +++---- 9 files changed, 26 insertions(+), 75 deletions(-) diff --git a/lib/DebugInfo/DWARF/DWARFUnit.cpp b/lib/DebugInfo/DWARF/DWARFUnit.cpp index 48900e4b7a2..569512cb8f0 100644 --- a/lib/DebugInfo/DWARF/DWARFUnit.cpp +++ b/lib/DebugInfo/DWARF/DWARFUnit.cpp @@ -581,27 +581,6 @@ void DWARFUnit::collectAddressRanges(DWARFAddressRangesVector &CURanges) { } else WithColor::error() << "decoding address ranges: " << toString(CUDIERangesOrError.takeError()) << '\n'; - - // This function is usually called if there in no .debug_aranges section - // in order to produce a compile unit level set of address ranges that - // is accurate. If the DIEs weren't parsed, then we don't want all dies for - // all compile units to stay loaded when they weren't needed. So we can end - // up parsing the DWARF and then throwing them all away to keep memory usage - // down. - const bool ClearDIEs = extractDIEsIfNeeded(false) > 1; - getUnitDIE().collectChildrenAddressRanges(CURanges); - - // Collect address ranges from DIEs in .dwo if necessary. - bool DWOCreated = parseDWO(); - if (DWO) - DWO->collectAddressRanges(CURanges); - if (DWOCreated) - DWO.reset(); - - // Keep memory down by clearing DIEs if this generate function - // caused them to be parsed. - if (ClearDIEs) - clearDIEs(true); } void DWARFUnit::updateAddressDieMap(DWARFDie Die) { diff --git a/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 index 455dd1ce4fc2c7551f1d39207fb5561286cd71a0..e3afa0f4288a1c087fc1926cc9a689afb0a00166 100755 GIT binary patch literal 17864 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 literal 9640 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 diff --git a/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64.debuglink b/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64.debuglink index 8c08037ea3717323779d6bf12602355d851fe717..9b513215f2bcf7bc2a33db6d967612d86e4c7945 100755 GIT binary patch literal 16288 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 NwAaCZ)C2H{@Gs~FGIam| literal 10693 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 V#h1^hA76jT{iOkC$5=WR{|)#Sv~vIe diff --git a/test/DebugInfo/Inputs/test-inline.o b/test/DebugInfo/Inputs/test-inline.o index a650c91725d9db5504757fd91472e301e59bf2b1..93073a19c5225c00afd9a8c9292ae6ca16bd00ef 100644 GIT binary patch literal 2968 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 J(O&F_{{Z55NBIB% diff --git a/test/DebugInfo/Inputs/test-parameters.o b/test/DebugInfo/Inputs/test-parameters.o index 7f4b6702df2e76c0c55d422b425972714b824276..3b887c45640d1b9b4d8cedf7de94febeba8df505 100644 GIT binary patch literal 2352 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 diff --git a/test/DebugInfo/debuglineinfo.test b/test/DebugInfo/debuglineinfo.test index 720ba12ed76..651bbe5a095 100644 --- a/test/DebugInfo/debuglineinfo.test +++ b/test/DebugInfo/debuglineinfo.test @@ -1,50 +1,19 @@ RUN: llvm-rtdyld -printline %p/Inputs/test-inline.o \ -RUN: | FileCheck %s -check-prefix TEST_INLINE +RUN: | FileCheck %s RUN: llvm-rtdyld -printdebugline %p/Inputs/test-inline.o \ -RUN: | FileCheck %s -check-prefix TEST_INLINE +RUN: | FileCheck %s RUN: llvm-rtdyld -printline %p/Inputs/test-parameters.o \ -RUN: | FileCheck %s -check-prefix TEST_PARAMETERS +RUN: | FileCheck %s RUN: llvm-rtdyld -printdebugline %p/Inputs/test-parameters.o \ -RUN: | FileCheck %s -check-prefix TEST_PARAMETERS +RUN: | FileCheck %s ; This test verifies that relocations are correctly applied to the ; .debug_line section and exercises DIContext::getLineInfoForAddressRange(). -; If relocations are not applied the first two functions will be reported as -; both starting at address zero in the; line number table. -TEST_INLINE: Function: _Z15test_parametersPfPA2_dR11char_structPPitm, Size = 170 -TEST_INLINE-NEXT: Line info @ 0: test-inline.cpp, line:33 -TEST_INLINE-NEXT: Line info @ 35: test-inline.cpp, line:34 -TEST_INLINE-NEXT: Line info @ 165: test-inline.cpp, line:35 -TEST_INLINE-NEXT: Function: _Z3foov, Size = 3 -TEST_INLINE-NEXT: Line info @ 0: test-inline.cpp, line:28 -TEST_INLINE-NEXT: Line info @ 2: test-inline.cpp, line:29 -TEST_INLINE-NEXT: Function: main, Size = 146 -TEST_INLINE-NEXT: Line info @ 0: test-inline.cpp, line:39 -TEST_INLINE-NEXT: Line info @ 21: test-inline.cpp, line:41 -TEST_INLINE-NEXT: Line info @ 39: test-inline.cpp, line:42 -TEST_INLINE-NEXT: Line info @ 60: test-inline.cpp, line:44 -TEST_INLINE-NEXT: Line info @ 80: test-inline.cpp, line:48 -TEST_INLINE-NEXT: Line info @ 90: test-inline.cpp, line:45 -TEST_INLINE-NEXT: Line info @ 95: test-inline.cpp, line:46 -TEST_INLINE-NEXT: Line info @ 114: test-inline.cpp, line:48 -TEST_INLINE-NEXT: Line info @ 141: test-inline.cpp, line:49 - -; This test checks the case where all code is in a single section. -TEST_PARAMETERS: Function: _Z15test_parametersPfPA2_dR11char_structPPitm, Size = 170 -TEST_PARAMETERS-NEXT: Line info @ 0: test-parameters.cpp, line:33 -TEST_PARAMETERS-NEXT: Line info @ 35: test-parameters.cpp, line:34 -TEST_PARAMETERS-NEXT: Line info @ 165: test-parameters.cpp, line:35 -TEST_PARAMETERS-NEXT: Function: _Z3foov, Size = 3 -TEST_PARAMETERS-NEXT: Line info @ 0: test-parameters.cpp, line:28 -TEST_PARAMETERS-NEXT: Line info @ 2: test-parameters.cpp, line:29 -TEST_PARAMETERS-NEXT: Function: main, Size = 146 -TEST_PARAMETERS-NEXT: Line info @ 0: test-parameters.cpp, line:39 -TEST_PARAMETERS-NEXT: Line info @ 21: test-parameters.cpp, line:41 -TEST_PARAMETERS-NEXT: Line info @ 39: test-parameters.cpp, line:42 -TEST_PARAMETERS-NEXT: Line info @ 60: test-parameters.cpp, line:44 -TEST_PARAMETERS-NEXT: Line info @ 80: test-parameters.cpp, line:48 -TEST_PARAMETERS-NEXT: Line info @ 90: test-parameters.cpp, line:45 -TEST_PARAMETERS-NEXT: Line info @ 95: test-parameters.cpp, line:46 -TEST_PARAMETERS-NEXT: Line info @ 114: test-parameters.cpp, line:48 -TEST_PARAMETERS-NEXT: Line info @ 141: test-parameters.cpp, line:49 +CHECK: Function: _Z2f1v, Size = 6 +CHECK-NEXT: Line info @ 0: test-inline.cpp, line:1 +CHECK-NEXT: Line info @ 4: test-inline.cpp, line:1 +CHECK-NEXT: Function: _Z2f2v, Size = 11 +CHECK-NEXT: Line info @ 0: test-inline.cpp, line:2 +CHECK-NEXT: Line info @ 4: test-inline.cpp, line:2 +CHECK-NEXT: Line info @ 9: test-inline.cpp, line:2 diff --git a/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test b/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test index b6c9ccc2d17..1b8da86f6d3 100644 --- a/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test +++ b/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test @@ -15,5 +15,8 @@ Compiled to assembly with clang, modified the skeleton CU to remove the high/low pc (& update the CU length field and abbrev to match) & then compile/objcopy to make the .o and .dwo. -CHECK: _Z2f2v -CHECK: test.cpp:2:51 +Ensure that the f2 inlined frame is not included - it's inefficient to have to +go and load all the debug info and search for the address ranges, so assume +that a lack of ranges on the CU means the CU covers no addresses. + +CHECK-NOT: _Z2f2v diff --git a/test/DebugInfo/llvm-symbolizer.test b/test/DebugInfo/llvm-symbolizer.test index a6a15491c20..5a5e06c3789 100644 --- a/test/DebugInfo/llvm-symbolizer.test +++ b/test/DebugInfo/llvm-symbolizer.test @@ -1,10 +1,10 @@ RUN: rm -rf %t RUN: mkdir -p %t -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400559" > %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x400559" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400436" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400528" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400586" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40113f" > %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x40113f" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401020" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40110e" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401160" >> %t.input RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t.input RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t.input RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t.input @@ -181,8 +181,8 @@ UNKNOWN-ARCH-NOT: main UNKNOWN-ARCH: ?? UNKNOWN-ARCH-NOT: main -RUN: echo "0x400559" > %t.input4 -RUN: echo "0x400436" >> %t.input4 +RUN: echo "0x40113f" > %t.input4 +RUN: echo "0x401020" >> %t.input4 RUN: llvm-symbolizer --obj %p/Inputs/dwarfdump-test.elf-x86-64 < %t.input4 \ RUN: | FileCheck %s --check-prefix=BINARY @@ -190,9 +190,9 @@ BINARY: main BINARY-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16 BINARY: _start -RUN: echo "0x400720" > %t.input5 -RUN: echo "0x4004a0" >> %t.input5 -RUN: echo "0x4006f0" >> %t.input5 +RUN: echo "0x401140" > %t.input5 +RUN: echo "0x401020" >> %t.input5 +RUN: echo "0x401120" >> %t.input5 RUN: llvm-symbolizer --obj %p/Inputs/llvm-symbolizer-test.elf-x86-64 < %t.input5 \ RUN: | FileCheck %s --check-prefix=BINARY_C