Open Bug 1530057 Opened 6 months ago Updated 5 months ago

Disable Android LTO for non-PGO (opt) builds

Categories

(Firefox Build System :: General, defect)

Unspecified
Android
defect
Not set

Tracking

(firefox-esr60 unaffected, firefox65 unaffected, firefox66 affected, firefox67 affected)

Tracking Status
firefox-esr60 --- unaffected
firefox65 --- unaffected
firefox66 --- affected
firefox67 --- affected

People

(Reporter: cpeterson, Unassigned)

References

Details

Android LTO caused a 70-90% build time regression (WONTFIX'd bug 1483990). Developers want fast local builds and try runs, so we should disable LTO in non-shipping builds (i.e. non-PGO opt and debug).

Once we have Android PGO builds (bug 632954), we can disable LTO for opt builds. PGO would then imply LTO, like clang-cl did on Windows in bug 1475660.

Would we want to disable LTO for opt builds in all branches (autoland, inbound, central, and try) or just on autoland, inbound, and try? Is there value in building and testing opt with LTO in central in addition to opt without LTO on autoland and inbound? Any bugs we find in one of those configurations but not the other is most likely a compiler bug, not a Firefox bug. Do we care?

See Also: → 1530058

(In reply to Chris Peterson [:cpeterson] from comment #0)

Would we want to disable LTO for opt builds in all branches (autoland,
inbound, central, and try) or just on autoland, inbound, and try? Is there
value in building and testing opt with LTO in central in addition to opt
without LTO on autoland and inbound?

I would say that there's anti-value. :) Having different settings based on branch leads to unpleasant surprises, typically in the form of lost developer time in chasing down why something doesn't reproduce in one branch or the other.

Assuming that those PGO+LTO builds get their own full set of tests, I think it would be fine for "opt" to have neither PGO nor LTO on any branch.

Depends on: android-pgo-ARM64
You need to log in before you can comment on or make changes to this bug.