llvm-project/llvm/test/Transforms/ThinLTOBitcodeWriter
Vlad Tsyrklevich 6867ab7c90 [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
2018-06-01 15:20:47 +00:00
..
x86 [ThinLTO] fix test failure without x86 backend 2018-02-06 07:03:09 +00:00
circular-reference.ll
comdat.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
filter-alias.ll ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. 2017-11-30 23:05:52 +00:00
function-alias.ll LowerTypeTests: Add limited support for aliases 2018-01-10 00:00:51 +00:00
new-pm.ll
no-type-md.ll ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
pr33536.ll [PM/ThinLTO] Fix PR33536, a bug where the ThinLTO bitcode writer was 2017-07-11 05:39:20 +00:00
split-internal-typeid.ll
split-internal1.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
split-internal2.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
split-vfunc-internal.ll Make GlobalValues with non-default visibilility dso_local. 2018-01-18 02:08:23 +00:00
split-vfunc.ll ThinLTOBitcodeWriter: Do not rewrite intrinsic functions when splitting modules. 2017-07-19 17:54:29 +00:00
split.ll ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
symver.ll Fix build failures for r330387 on buildbots that don't build the X86 target 2018-04-20 02:26:12 +00:00
unsplittable.ll [ThinLTOBitcodeWriter] Emit summaries for regular LTO modules 2018-06-01 15:20:47 +00:00