DescriptionDisable ThinLTO optimizations on Linux with LLD.
Unfortunately:
- Binaries built with ThinLTO at -O2/--lto-O2 (which is what you
currently get with use_thin_lto=true) are too large.
- Binaries built with -Os introduce significant performance regressions.
This issue most likely affects ThinLTO as well, at least according to
local benchmarking.
So that leaves -O2/--lto-O0, which is pretty much what we have now
with full LTO. (With full LTO, --lto-O1 basically just means apply
CFI, whole-program devirtualization, dead code elimination and CFG
simplification.)
Efforts have been made on the LLVM side to make ThinLTO at --lto-O0
generate binaries with as good quality as full LTO with --lto-O1
(simplifying the code generated for CFI checks (r304921) and allowing
for more dead code elimination (r305482)). Now that those are complete,
we are ready to start using --lto-O0 with ThinLTO.
BUG=660216
R=thakis@chromium.org
Review-Url: https://codereview.chromium.org/2939923004
Cr-Commit-Position: refs/heads/master@{#479875}
Committed: https://chromium.googlesource.com/chromium/src/+/da072d13b2a1cc8459c29aa4e52584a4491a4ad6
Patch Set 1 #
Messages
Total messages: 10 (6 generated)
|