diff options
| author | David Blaikie <dblaikie@gmail.com> | 2014-07-25 17:11:58 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2014-07-25 17:11:58 +0000 |
| commit | 29459ae83c8177c858f459a6392fdad37cbc1ef4 (patch) | |
| tree | 9d2451ecaf622fe7f55e57b088e39e62336d0372 /llvm/test/DebugInfo | |
| parent | 869b0a1fd457eb7131845725d2fc8c9577b467ed (diff) | |
| download | bcm5719-llvm-29459ae83c8177c858f459a6392fdad37cbc1ef4.tar.gz bcm5719-llvm-29459ae83c8177c858f459a6392fdad37cbc1ef4.zip | |
Reapply "DebugInfo: Don't put fission type units in comdat sections."
This recommits r208930, r208933, and r208975 (by reverting r209338) and
reverts r209529 (the FIXME to readd this functionality once the tools
were fixed) now that DWP has been fixed to cope with a single section
for all fission type units.
Original commit message:
"Since type units in the dwo file are handled by a debug aware tool,
they don't need to leverage the ELF comdat grouping to implement
deduplication. Avoid creating all the .group sections for these as a
space optimization."
llvm-svn: 213956
Diffstat (limited to 'llvm/test/DebugInfo')
| -rw-r--r-- | llvm/test/DebugInfo/X86/generate-odr-hash.ll | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/llvm/test/DebugInfo/X86/generate-odr-hash.ll b/llvm/test/DebugInfo/X86/generate-odr-hash.ll index 2256b3e212a..a232e2f76e7 100644 --- a/llvm/test/DebugInfo/X86/generate-odr-hash.ll +++ b/llvm/test/DebugInfo/X86/generate-odr-hash.ll @@ -1,10 +1,12 @@ ; REQUIRES: object-emission -; RUN: llc %s -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu +; RUN: llc < %s -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s +; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_COMMON %s -; RUN: llc %s -split-dwarf=Enable -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu +; RUN: llc < %s -split-dwarf=Enable -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s +; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_COMMON --check-prefix=OBJ_FISSION %s ; Generated from bar.cpp: @@ -161,6 +163,20 @@ ; CHECK-DAG: [[WOMBAT]] "wombat" ; CHECK-DAG: [[FLUFFY]] "echidna::capybara::mongoose::fluffy" +; Make sure debug_types are in comdat groups. This could be more rigid to check +; that they're the right comdat groups (each type in a separate comdat group, +; etc) +; OBJ_COMMON: Name: .debug_types ( +; OBJ_COMMON-NOT: } +; OBJ_COMMON: SHF_GROUP + +; Fission type units don't go in comdat groups, since their linker is debug +; aware it's handled using the debug info semantics rather than raw ELF object +; semantics. +; OBJ_FISSION: Name: .debug_types.dwo ( +; OBJ_FISSION-NOT: SHF_GROUP +; OBJ_FISSION: } + %struct.bar = type { i8 } %"class.echidna::capybara::mongoose::fluffy" = type { i32, i32 } %"struct.<anonymous namespace>::walrus" = type { i8 } |

