llvm-project/llvm/test/DebugInfo/Inputs
Dehao Chen 1ce8d6ca59 Add -debug-info-for-profiling to emit more debug info for sample pgo profile collection
Summary:
SamplePGO binaries built with -gmlt to collect profile. The current -gmlt debug info is limited, and we need some additional info:

* start line of all subprograms
* linkage name of all subprograms
* standalone subprograms (functions that has neither inlined nor been inlined)

This patch adds these information to the -gmlt binary. The impact on speccpu2006 binary size (size increase comparing with -g0 binary, also includes data for -g binary, which does not change with this patch):

               -gmlt(orig) -gmlt(patched) -g
433.milc       4.68%       5.40%          19.73%
444.namd       8.45%       8.93%          45.99%
447.dealII     97.43%      115.21%        374.89%
450.soplex     27.75%      31.88%         126.04%
453.povray     21.81%      26.16%         92.03%
470.lbm        0.60%       0.67%          1.96%
482.sphinx3    5.77%       6.47%          26.17%
400.perlbench  17.81%      19.43%         73.08%
401.bzip2      3.73%       3.92%          12.18%
403.gcc        31.75%      34.48%         122.75%
429.mcf        0.78%       0.88%          3.89%
445.gobmk      6.08%       7.92%          42.27%
456.hmmer      10.36%      11.25%         35.23%
458.sjeng      5.08%       5.42%          14.36%
462.libquantum 1.71%       1.96%          6.36%
464.h264ref    15.61%      16.56%         43.92%
471.omnetpp    11.93%      15.84%         60.09%
473.astar      3.11%       3.69%          14.18%
483.xalancbmk  56.29%      81.63%         353.22%
geomean        15.60%      18.30%         57.81%

Debug info size change for -gmlt binary with this patch:

433.milc       13.46%
444.namd       5.35%
447.dealII     18.21%
450.soplex     14.68%
453.povray     19.65%
470.lbm        6.03%
482.sphinx3    11.21%
400.perlbench  8.91%
401.bzip2      4.41%
403.gcc        8.56%
429.mcf        8.24%
445.gobmk      29.47%
456.hmmer      8.19%
458.sjeng      6.05%
462.libquantum 11.23%
464.h264ref    5.93%
471.omnetpp    31.89%
473.astar      16.20%
483.xalancbmk  44.62%
geomean        16.83%

Reviewers: davidxl, echristo, dblaikie

Reviewed By: echristo, dblaikie

Subscribers: aprantl, probinson, llvm-commits, mehdi_amini

Differential Revision: https://reviews.llvm.org/D25434

llvm-svn: 292457
2017-01-19 00:44:11 +00:00
..
arange-overlap.cc
arange-overlap.elf-x86_64
arm-relocs.elf-arm
cross-cu-inlining.c
cross-cu-inlining.x86_64-macho.o
dwarfdump-dwp.x86_64.o dwarfdump: Use the index to find the right abbrev offset in DWP files 2015-11-17 00:39:55 +00:00
dwarfdump-gdbindex-v7.elf-x86-64 Revert r282238 "Revert r282235 "[llvm-dwarfdump] - Teach dwarfdump to dump gdb-index section."" 2016-09-23 11:01:53 +00:00
dwarfdump-inl-test.cc
dwarfdump-inl-test.elf-x86-64
dwarfdump-inl-test.h
dwarfdump-inl-test.high_pc.elf-x86-64
dwarfdump-line-dwo.cc
dwarfdump-line-dwo.elf-x86-64
dwarfdump-macho-relocs.macho.x86_64.o [dwarfdump] Do not apply relocations in mach-o files if there is no LoadedObjectInfo. 2015-08-23 04:44:21 +00:00
dwarfdump-macro-cmd.h Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
dwarfdump-macro.cc Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
dwarfdump-macro.h Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
dwarfdump-macro.o dwarfdump: Added macro support to llvm-dwarfdump tool. 2015-11-12 09:38:54 +00:00
dwarfdump-objc.m Synchronize LLVM and clang's ObjCDeclSpec::ObjCPropertyAttributeKind. 2016-07-14 00:41:18 +00:00
dwarfdump-objc.x86_64.o Synchronize LLVM and clang's ObjCDeclSpec::ObjCPropertyAttributeKind. 2016-07-14 00:41:18 +00:00
dwarfdump-pubnames.cc
dwarfdump-pubnames.elf-x86-64
dwarfdump-test-32bit.elf.c
dwarfdump-test-32bit.elf.o
dwarfdump-test-loc-list-32bit.elf.cpp
dwarfdump-test-loc-list-32bit.elf.o
dwarfdump-test-zlib.cc Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.) 2016-05-24 12:48:46 +00:00
dwarfdump-test-zlib.elf-x86-64 Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.) 2016-05-24 12:48:46 +00:00
dwarfdump-test-zlibgnu.elf-x86-64 Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.) 2016-05-24 12:48:46 +00:00
dwarfdump-test.cc
dwarfdump-test.elf-x86-64
dwarfdump-test.elf-x86-64.debuglink
dwarfdump-test.macho-i386.o
dwarfdump-test2-helper.cc
dwarfdump-test2-main.cc
dwarfdump-test2.elf-x86-64
dwarfdump-test3-decl.h
dwarfdump-test3-decl2.h
dwarfdump-test3.cc
dwarfdump-test3.elf-x86-64 space
dwarfdump-test4-decl.h
dwarfdump-test4-part1.cc
dwarfdump-test4-part2.cc
dwarfdump-test4.elf-x86-64
dwarfdump-type-units.cc
dwarfdump-type-units.elf-x86-64
dwarfdump.elf-mips64-64-bit-dwarf
fat-test.o
fission-ranges.cc
fission-ranges.elf-x86_64
gmlt.ll Add -debug-info-for-profiling to emit more debug info for sample pgo profile collection 2017-01-19 00:44:11 +00:00
implicit-const-test.o Correct object file for implicit const test 2017-01-10 21:30:42 +00:00
invalid.elf
invalid.elf.2
invalid.elf.3
line.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
llvm-symbolizer-dwo-test
llvm-symbolizer-dwo-test.cc
llvm-symbolizer-test.c
llvm-symbolizer-test.elf-x86-64
macho-universal
macho-universal.cc
shared-object-stripped.elf-i386
split-dwarf-empty.dwo llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_name attribute 2016-04-22 22:50:56 +00:00
split-dwarf-empty.o llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_name attribute 2016-04-22 22:50:56 +00:00
split-dwarf-test llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
split-dwarf-test-nogmlt llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
split-dwarf-test.cc llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
split-dwarf-test.dwo llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
test-inline.o
test-multiple-macho.o
test-parameters.o
test-simple-macho.o