Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(354)

Issue 1809273002: Enable whole-program virtual function optimization in LTO mode. (Closed)

Created:
4 years, 9 months ago by pcc1
Modified:
4 years, 8 months ago
Reviewers:
brettw, Nico
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Enable whole-program virtual function optimization in LTO mode. Also move LTO config out of sanitizer config, and enable function sections on all architectures (not just ARM) as it improves the linker's ability to do ICF. BUG=580389 Committed: https://crrev.com/5f4ec37b6548c11b0b470ce824a3d28f7f54fcd1 Cr-Commit-Position: refs/heads/master@{#385630}

Patch Set 1 #

Patch Set 2 : Rename flag, remove is_cfi default, document desired end state; also enable function sections in al… #

Patch Set 3 : Rename one more instance of is_lto #

Total comments: 5

Patch Set 4 : Address review comments #

Patch Set 5 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -70 lines) Patch
M build/common.gypi View 1 2 3 4 3 chunks +23 lines, -14 lines 0 comments Download
M build/config/compiler/BUILD.gn View 1 2 3 4 2 chunks +47 lines, -0 lines 0 comments Download
M build/config/sanitizers/BUILD.gn View 1 2 3 4 3 chunks +16 lines, -43 lines 0 comments Download
M build/config/sanitizers/sanitizers.gni View 1 2 3 4 2 chunks +2 lines, -4 lines 0 comments Download
M build/toolchain/gcc_toolchain.gni View 1 2 3 4 2 chunks +3 lines, -2 lines 0 comments Download
M build/toolchain/toolchain.gni View 1 1 chunk +8 lines, -0 lines 0 comments Download
M build/toolchain/win/BUILD.gn View 1 2 3 4 1 chunk +1 line, -6 lines 0 comments Download
M tools/mb/mb_config.pyl View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 35 (12 generated)
pcc1
4 years, 9 months ago (2016-03-17 23:52:46 UTC) #3
krasin1
Tangential comment: please, do not submit this CL until tomorrow. We should get our LTO ...
4 years, 9 months ago (2016-03-18 00:06:45 UTC) #4
krasin1
The LTO Linux Perf buildbot is set up: https://build.chromium.org/p/chromium.fyi/builders/LTO Linux Perf This change is very ...
4 years, 9 months ago (2016-03-22 03:18:05 UTC) #5
pcc1
brettw: Ping.
4 years, 9 months ago (2016-03-24 18:04:24 UTC) #6
brettw
A few points: - I commented on the patch where you added is_lto that it ...
4 years, 9 months ago (2016-03-24 20:48:35 UTC) #7
pcc1
On 2016/03/24 20:48:35, brettw wrote: > A few points: > > - I commented on ...
4 years, 9 months ago (2016-03-24 22:49:02 UTC) #8
brettw
On 2016/03/24 22:49:02, pcc1 wrote: > (That wasn't me :) ). But happy to move ...
4 years, 8 months ago (2016-03-28 22:42:46 UTC) #9
pcc1
On 2016/03/28 22:42:46, brettw wrote: > On 2016/03/24 22:49:02, pcc1 wrote: > > (That wasn't ...
4 years, 8 months ago (2016-03-28 23:42:30 UTC) #10
brettw
What about this: Move the flag in compiler/BUILD.gn and call it allow_posix_link_time_opt (or something) and ...
4 years, 8 months ago (2016-03-31 17:58:58 UTC) #11
Nico
lgtm once Brett is happy with how this is spelled. Having the same spelling in ...
4 years, 8 months ago (2016-03-31 19:48:06 UTC) #12
pcc1
Okay, I tried doing what you suggested, by moving the LTO config to a block ...
4 years, 8 months ago (2016-04-05 23:58:31 UTC) #13
brettw
Thanks for trying those other things. Since there's a good reason why this can't go ...
4 years, 8 months ago (2016-04-06 06:25:36 UTC) #15
pcc1
Thanks Brett. https://codereview.chromium.org/1809273002/diff/40001/build/config/compiler/BUILD.gn File build/config/compiler/BUILD.gn (right): https://codereview.chromium.org/1809273002/diff/40001/build/config/compiler/BUILD.gn#newcode398 build/config/compiler/BUILD.gn:398: # Allows the linker to apply ICF ...
4 years, 8 months ago (2016-04-06 21:42:01 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1809273002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1809273002/60001
4 years, 8 months ago (2016-04-06 21:42:40 UTC) #19
pcc1
https://codereview.chromium.org/1809273002/diff/40001/build/toolchain/win/BUILD.gn File build/toolchain/win/BUILD.gn (right): https://codereview.chromium.org/1809273002/diff/40001/build/toolchain/win/BUILD.gn#newcode28 build/toolchain/win/BUILD.gn:28: if (allow_posix_link_time_opt) { On 2016/04/06 21:42:01, pcc1 wrote: > ...
4 years, 8 months ago (2016-04-06 21:44:23 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg_simulator_gn on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_gn/builds/15133) ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, ...
4 years, 8 months ago (2016-04-06 21:47:00 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1809273002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1809273002/80001
4 years, 8 months ago (2016-04-06 22:43:09 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/128521)
4 years, 8 months ago (2016-04-06 23:09:42 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1809273002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1809273002/80001
4 years, 8 months ago (2016-04-06 23:18:17 UTC) #29
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 8 months ago (2016-04-07 02:32:50 UTC) #31
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/5f4ec37b6548c11b0b470ce824a3d28f7f54fcd1 Cr-Commit-Position: refs/heads/master@{#385630}
4 years, 8 months ago (2016-04-07 02:34:09 UTC) #33
esprehn
Do we ship LTO binaries to real users anywhere yet? Who would see this optimization ...
4 years, 8 months ago (2016-04-07 03:08:36 UTC) #34
pcc1
4 years, 8 months ago (2016-04-07 03:13:16 UTC) #35
Message was sent while issue was closed.
No, we aren't shipping this yet. This is still blocked on (at least)
infrastructure improvements and parallelism improvements in gn. krasin@ has been
working on those things.

Powered by Google App Engine
This is Rietveld 408576698