This is an archive of the discontinued LLVM Phabricator instance.

[COFF] Limit PR39667 ICF partitioning changes to ARM64
AbandonedPublic

Authored by dmajor on Jan 18 2019, 6:01 PM.

Details

Reviewers
pcc
ruiu
rnk
Summary

While the changes in rL347429 brought dramatic improvements to Firefox link time on ARM64, they also caused large regressions in link time on x86_64 PGO builds, severe enough that we had to back out our clang roll. I assume the slowdown has something to do with the sections created for profiling instrumentation. (It would be interesting to see what effect that patch had on ARM64 PGO builds, but we don't have such a thing yet.)

As a starting point, here's a patch to restrict rL347429 to ARM64 only. (And, if accepted, I'd suggest merging it to to 8.0.0.) Being unfamiliar with this code, I can't tell if this is a proper solution or a hack, so I'll rely on reviewers to let me know.

I don't know what to do about the corresponding ELF changes in D54773/rLLD347594. I'm not even sure if the regression occurs on ELF platforms.

Diff Detail

Event Timeline

dmajor created this revision.Jan 18 2019, 6:01 PM
pcc added a comment.Jan 18 2019, 8:44 PM

D56955 should fix the underlying issue here.

dmajor abandoned this revision.Jan 18 2019, 10:29 PM

Even better -- thanks!