summaryrefslogtreecommitdiff
path: root/test/DebugInfo
diff options
context:
space:
mode:
authorManman Ren <mren@apple.com>2013-03-07 01:42:00 +0000
committerManman Ren <mren@apple.com>2013-03-07 01:42:00 +0000
commit3de61b4c0144748e4b9157e2c22fe4ea685981a2 (patch)
tree76198e1cb0e2d2e257ac269f9cd6175087d2d3bd /test/DebugInfo
parent55d8f6d49023de5182efbb29d0b3bd0035909d62 (diff)
downloadllvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.tar.gz
llvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.tar.bz2
llvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.tar.xz
Debug Info: store the files and directories for each compile unit.
We now emit a line table for each compile unit. To reduce the prologue size of each line table, the files and directories used by each compile unit are stored in std::map<unsigned, std::vector< > > instead of std::vector< >. The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each compile unit causes a huge increase of debug info. With this patch, each prologue will only emit the files required by the compile unit. rdar://problem/13342023 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176605 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo')
-rw-r--r--test/DebugInfo/X86/stmt-list-multiple-compile-units.ll9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll b/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
index 601d08f114..814f86c335 100644
--- a/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
+++ b/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
@@ -9,13 +9,16 @@
; CHECK: DW_TAG_compile_unit
; CHECK: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000000)
-; CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x00000049)
+; CHECK: DW_AT_stmt_list [DW_FORM_data4] (0x0000003c)
; CHECK: .debug_line contents:
; CHECK-NEXT: Line table prologue:
-; CHECK-NEXT: total_length: 0x00000045
+; CHECK-NEXT: total_length: 0x00000038
+; CHECK: file_names[ 1] 0 0x00000000 0x00000000 simple.c
; CHECK: Line table prologue:
-; CHECK: total_length: 0x00000047
+; CHECK-NEXT: total_length: 0x00000039
+; CHECK: file_names[ 1] 0 0x00000000 0x00000000 simple2.c
+; CHECK-NOT: file_names
define i32 @test(i32 %a) nounwind uwtable ssp {
entry: