diff options
author | Manman Ren <mren@apple.com> | 2013-03-07 01:42:00 +0000 |
---|---|---|
committer | Manman Ren <mren@apple.com> | 2013-03-07 01:42:00 +0000 |
commit | 3de61b4c0144748e4b9157e2c22fe4ea685981a2 (patch) | |
tree | 76198e1cb0e2d2e257ac269f9cd6175087d2d3bd /test | |
parent | 55d8f6d49023de5182efbb29d0b3bd0035909d62 (diff) | |
download | external_llvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.zip external_llvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.tar.gz external_llvm-3de61b4c0144748e4b9157e2c22fe4ea685981a2.tar.bz2 |
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')
-rw-r--r-- | test/DebugInfo/X86/stmt-list-multiple-compile-units.ll | 9 |
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 601d08f..814f86c 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: |