summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-03-18 01:17:26 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-03-18 01:17:26 +0000
commit4a2f95f60ee386dc87d29d5f763fa4fb046550ff (patch)
tree4dc2f624e58e405c9fb6e133613d6d1ee8000a27 /llvm/test
parentcf9e671f5c909334ae5f6e0402e33162282c82fd (diff)
downloadbcm5719-llvm-4a2f95f60ee386dc87d29d5f763fa4fb046550ff.tar.gz
bcm5719-llvm-4a2f95f60ee386dc87d29d5f763fa4fb046550ff.zip
DebugInfo: Implement debug_line.dwo for file names used in type units during -gsplit-dwarf
This removes an attribute (and more importantly, a relocation) from skeleton type units and removes some unnecessary file names from the debug_line section that remains in the .o (and linked executable) file. There's still a few places we could shave off some more space here: * use compilation dir of the underlying compilation unit (since all the type units share that compilation dir - though this would be more complicated in LTO cases where they don't (keep a map of compilation dir->line table header?)) * Remove some of the unnecessary header fields from the line table since they're not needed in this situation (about 12 bytes per table). llvm-svn: 204099
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/DebugInfo/X86/generate-odr-hash.ll19
1 files changed, 13 insertions, 6 deletions
diff --git a/llvm/test/DebugInfo/X86/generate-odr-hash.ll b/llvm/test/DebugInfo/X86/generate-odr-hash.ll
index 64a428e2d52..e01863d76c3 100644
--- a/llvm/test/DebugInfo/X86/generate-odr-hash.ll
+++ b/llvm/test/DebugInfo/X86/generate-odr-hash.ll
@@ -76,9 +76,9 @@
; FISSION-NOT: type_signature
; FISSION-LABEL: type_signature = 0x1d02f3be30cc5688
; FISSION: DW_TAG_type_unit
-; FISSION: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
-; FISSION: DW_AT_GNU_dwo_name{{.*}}"bar.dwo"
-; FISSION: DW_AT_comp_dir{{.*}}"/tmp/dbginfo"
+; FISSION-NEXT: DW_AT_GNU_dwo_name{{.*}}"bar.dwo"
+; FISSION-NEXT: DW_AT_GNU_addr_base
+; FISSION-NEXT: DW_AT_comp_dir{{.*}}"/tmp/dbginfo"
; FISSION-NOT: type_signature
; FISSION-LABEL: type_signature = 0xb04af47397402e77
; FISSION-NOT: type_signature
@@ -120,8 +120,7 @@
; CHECK-NOT: type_signature
; CHECK-LABEL: type_signature = 0xe94f6d3843e62d6b
; CHECK: DW_TAG_type_unit
-; SINGLE: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
-; FISSION-NOT: DW_AT_stmt_list
+; CHECK: DW_AT_stmt_list [DW_FORM_sec_offset] (0x00000000)
; CHECK-NOT: NULL
; CHECK-NOT: DW_AT_GNU_odr_signature
; CHECK: DW_TAG_structure_type
@@ -136,9 +135,17 @@
; CHECK-LABEL: .debug_line contents:
; CHECK: Line table prologue
; CHECK-NOT: file_names[
-; CHECK: file_names{{.*}} bar.h
+; SINGLE: file_names{{.*}} bar.h
; CHECK: file_names{{.*}} bar.cpp
; CHECK-NOT: file_names[
+
+; CHECK-LABEL: .debug_line.dwo contents:
+; FISSION: Line table prologue
+; FISSION-NOT: file_names[
+; FISSION: file_names{{.*}} bar.h
+; FISSION: file_names{{.*}} bar.cpp
+; FISSION-NOT: file_names[
+
; CHECK-LABEL: .debug_str contents:
; Use the unit size as a rough hash/identifier for the unit we're dealing with
OpenPOWER on IntegriCloud