Closed Bug 1475660 Opened 6 years ago Closed 6 years ago

Make PGO imply LTO in clang-cl builds

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: away, Assigned: away)

References

Details

Attachments

(1 file, 1 obsolete file)

The design of MSVC's PGO implementation is such that you have to use it in conjunction with LTO. For at least the short term, I propose that we make clang-cl builds behave the same way. This way we can keep producing win{32,64}-pgo as our shipping build platform without extra changes, and we can throw just one switch to go back and forth between MSVC+PGO+LTO and clang-cl+faux-PGO+ThinLTO if needed.
This builds on the changes in bug 1448980 so this patch may need updates depending on review of the other bug. It's worth pointing out that, while the patch looks pretty inconsequential at first glance, this will actually "flip the switch" on ThinLTO in official builds.
Assignee: nobody → dmajor
Attachment #8992316 - Flags: review?(core-build-config-reviews)
Attachment #8992316 - Flags: review?(core-build-config-reviews) → review+
Comment on attachment 8992316 [details] [diff] [review] Make PGO imply ThinLTO in clang-cl builds and value.origin == 'default'. You don't want an explicit --disable-lto to still enable it magically.
Attachment #8992316 - Flags: review-
Attachment #8992316 - Attachment is obsolete: true
Attachment #8992474 - Flags: review?(mh+mozilla)
Attachment #8992474 - Flags: review?(mh+mozilla) → review+
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/e09ba0bb848a Make clang-cl PGO enable LTO (enables ThinLTO in official builds) r=froydnj,glandium
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Depends on: 1476265
Perf wins on Windows: == Change summary for alert #14377 (as of Mon, 16 Jul 2018 19:10:37 GMT) == Improvements: 9% a11yr windows7-32 pgo e10s stylo 177.75 -> 161.75 8% perf_reftest_singletons windows7-32 pgo e10s stylo49.02 -> 45.09 8% a11yr windows10-64 pgo e10s stylo 182.30 -> 167.80 7% perf_reftest_singletons windows10-64 pgo e10s stylo49.64 -> 46.03 4% tp6_amazon windows7-32 pgo e10s stylo223.88 -> 215.29 3% speedometer windows7-32 pgo e10s stylo71.45 -> 73.52 2% tp6_google windows7-32 pgo e10s stylo401.23 -> 391.25 2% speedometer windows10-64 pgo e10s stylo66.52 -> 68.17 For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=14377
See Also: → 1477280
See Also: → 1530057
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: