build: Enable ThinLTO in official Android builds.
With this change we start building Chromium with ThinLTO when targeting
Android. In 64-bit Monochrome builds, the 32-bit binary is also built
with ThinLTO. This change is expected to reduce code size significantly
(in local measurements it reduced the size of MonochromePublic.apk by 2.3MB)
and is a prerequisite for enabling control flow integrity in official
builds.
Note that although this change enables ThinLTO, it does not enable
the cross-TU optimizations normally associated with LTO. Enabling
cross-TU optimizations is a separate project.
On my local machine (a Lenovo P920) libmonochrome.so link times increase
as follows:
before after (first link) after (incremental links)
32-bit 18s 140s 50s
64-bit 13s 107s 41s
All known blockers have now been fixed. This CL is likely to uncover
unknown blockers.
Bug: 469376
Change-Id: I8981e17abd50bc5ca00440e0d74dda878c911749
Reviewed-on: https://chromium-review.googlesource.com/1150870
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by:
Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578195}
Showing
Please register or sign in to comment