This is an archive of the discontinued LLVM Phabricator instance.

[WIP/LTO] Improve internalize decisions
AbandonedPublic

Authored by davide on Apr 1 2016, 11:00 AM.

Details

Reviewers
pcc
rafael
Summary

The existing algorithm was wrong because it internalized symbols it didn't need to.
I'm bootstrapping right now to see if it actually fixes the failure I hit. Consider this a WIP/FYI patch, I'll upload a definitive version later today. Refer to the code for comments/details.

Diff Detail

Event Timeline

davide updated this revision to Diff 52395.Apr 1 2016, 11:00 AM
davide retitled this revision from to [WIP/LTO] Improve internalize decisions.
davide updated this object.
davide added reviewers: rafael, pcc.
davide set the repository for this revision to rL LLVM.
davide added a subscriber: llvm-commits.
ruiu added a subscriber: ruiu.Apr 2 2016, 8:20 AM
ruiu added inline comments.
ELF/LTO.cpp
78

We don't usually use auto if the type is obvious in a very narrow (e.g. RHS) context. We also use short names for variables with narrow scope, so I'd write

uint8_t V = Body->getVisibility();
return V == STV_DEFAULT || V == STV_PROTECTED;
129–138

In both cases it does the same thing. Is this intended?

davide abandoned this revision.Apr 17 2016, 6:45 PM