This is an archive of the discontinued LLVM Phabricator instance.

[ThinLTO] Keep common symbols in ThinLTO modules
ClosedPublic

Authored by tejohnson on Aug 17 2016, 5:27 PM.

Details

Summary

Skip the merging of common symbols for ThinLTO modules, they will be
merged by the final native object link. Trying to merge the symbols and
add to a combined module will incorrectly enable the common symbol to be
internalized in the ThinLTO module. Additionally, we will not want to
create a combined module for ThinLTO distributed builds.

This fixes failures in 7 cpu2006 benchmarks from the new LTO API in
ThinLTO mode.

Diff Detail

Event Timeline

tejohnson updated this revision to Diff 68462.Aug 17 2016, 5:27 PM
tejohnson retitled this revision from to [ThinLTO] Keep common symbols in ThinLTO modules.
tejohnson updated this object.
tejohnson added a reviewer: mehdi_amini.
tejohnson added subscribers: llvm-commits, pcc.
mehdi_amini accepted this revision.Aug 17 2016, 5:30 PM
mehdi_amini edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Aug 17 2016, 5:30 PM
This revision was automatically updated to reflect the committed changes.