diff options
author | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2018-06-01 15:20:47 +0000 |
---|---|---|
committer | Vlad Tsyrklevich <vlad@tsyrklevich.net> | 2018-06-01 15:20:47 +0000 |
commit | 6867ab7c908d70178fd6cb8bfed195fb176cf1a4 (patch) | |
tree | 5152e56458d0e2abc5fb63e1bdfc1a689772572c /llvm/tools/llvm-objcopy/llvm-objcopy.cpp | |
parent | b60b920a8c285f965c8cbbb21fae54e9b1bf4e80 (diff) | |
download | bcm5719-llvm-6867ab7c908d70178fd6cb8bfed195fb176cf1a4.tar.gz bcm5719-llvm-6867ab7c908d70178fd6cb8bfed195fb176cf1a4.zip |
[ThinLTOBitcodeWriter] Emit summaries for regular LTO modules
Summary:
Emit summaries for bitcode modules that are only destined for the
regular LTO portion of the build so they can participate in
summary-based dead stripping.
This change reduces the size of a nacl_helper build with cfi-icall
enabled by 7%, removing the majority of the overhead due to enabling
cfi-icall. The cfi-icall size increase was caused by compiling in lots
of unused code and cfi-icall generating jumptable references to unused
symbols that could no longer be removed by -Wl,-gc-sections. Increasing
the visibility of summary-based dead stripping prevented jumptable
entries being created for unused symbols from the regular LTO portion
of the build.
Reviewers: pcc
Reviewed By: pcc
Subscribers: dschuff, mehdi_amini, inglorion, eraman, llvm-commits, kcc
Differential Revision: https://reviews.llvm.org/D47594
llvm-svn: 333768
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
0 files changed, 0 insertions, 0 deletions