This is an archive of the discontinued LLVM Phabricator instance.

[ThinLTOBitcodeWriter] Emit summaries for regular LTO modules
ClosedPublic

Authored by vlad.tsyrklevich on May 31 2018, 9:47 AM.

Details

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.

Diff Detail

Repository
rL LLVM

Event Timeline

pcc accepted this revision.May 31 2018, 1:50 PM

LGTM

This revision is now accepted and ready to land.May 31 2018, 1:50 PM
This revision was automatically updated to reflect the committed changes.