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

Issue 2125463002: Improve phi hinting heuristics. (Closed)

Created:
4 years, 5 months ago by jbramley
Modified:
4 years, 1 month ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Improve phi hinting heuristics. The basic intention is to try to remove unnecessary moves caused by hints in otherwise empty blocks. Roughly: Before After ----------------------------------------------------------- B0: add x1, ... B0: add x1, ... b.ne B2 b.eq B3 B1: mov x0, x1 B1: [empty] b B3 B2: add x0, x1, ... B2: add x1, x1, ... B3: phi(B1,B2) in x0 B3: phi(B0,B1) in x1 Hinting is also improved in cases where one of the inputs is already allocated. This occurs commonly on architectures with instructions which write into fixed registers, for example. BUG= Committed: https://crrev.com/2e360cd83f60ecfa9eaa6d0648450ef937a15a5f Cr-Commit-Position: refs/heads/master@{#40498}

Patch Set 1 #

Total comments: 10

Patch Set 2 : Rebase only. #

Patch Set 3 : Fix regressions on the compile-time benchmarks. #

Total comments: 11

Patch Set 4 : Review fixes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+103 lines, -24 lines) Patch
M src/compiler/register-allocator.cc View 1 2 3 1 chunk +103 lines, -24 lines 0 comments Download

Messages

Total messages: 24 (4 generated)
jbramley
4 years, 5 months ago (2016-07-04 14:50:45 UTC) #2
Mircea Trofin
Looks generally good, I'm curious about the perf impact (hence started the try perf runs), ...
4 years, 5 months ago (2016-07-04 16:32:15 UTC) #3
jbramley
Performance depends on the platform. For ARM and ARM64, we get +3% on a couple ...
4 years, 5 months ago (2016-07-04 16:58:54 UTC) #4
Mircea Trofin
https://codereview.chromium.org/2125463002/diff/1/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2125463002/diff/1/src/compiler/register-allocator.cc#newcode2250 src/compiler/register-allocator.cc:2250: predecessor_hint_preference += kNotDeferredBlockPreference; On 2016/07/04 16:58:54, jbramley wrote: > ...
4 years, 5 months ago (2016-07-04 21:20:35 UTC) #5
jbramley
On 2016/07/04 21:20:35, Mircea Trofin wrote: > It may be worth investigating. The compile benchmark ...
4 years, 5 months ago (2016-07-05 12:41:54 UTC) #6
jbramley
On 2016/07/04 21:20:35, Mircea Trofin wrote: > > > On that, I think you could ...
4 years, 5 months ago (2016-07-19 16:46:39 UTC) #7
Mircea Trofin
On 2016/07/19 16:46:39, jbramley wrote: > On 2016/07/04 21:20:35, Mircea Trofin wrote: > > > ...
4 years, 5 months ago (2016-07-19 16:52:40 UTC) #8
jbramley
On 2016/07/19 16:52:40, Mircea Trofin wrote: > On 2016/07/19 16:46:39, jbramley wrote: > > On ...
4 years, 5 months ago (2016-07-19 16:56:14 UTC) #9
Mircea Trofin
On 2016/07/19 16:56:14, jbramley wrote: > On 2016/07/19 16:52:40, Mircea Trofin wrote: > > On ...
4 years, 5 months ago (2016-07-19 16:57:20 UTC) #10
jbramley
On 2016/07/19 16:57:20, Mircea Trofin wrote: > On 2016/07/19 16:56:14, jbramley wrote: > > On ...
4 years, 5 months ago (2016-07-19 17:00:10 UTC) #11
Mircea Trofin
On 2016/07/19 17:00:10, jbramley wrote: > On 2016/07/19 16:57:20, Mircea Trofin wrote: > > On ...
4 years, 5 months ago (2016-07-19 17:03:29 UTC) #12
Mircea Trofin
On 2016/07/19 17:03:29, Mircea Trofin wrote: > On 2016/07/19 17:00:10, jbramley wrote: > > On ...
4 years, 5 months ago (2016-07-25 16:22:45 UTC) #13
jbramley
On 2016/07/25 16:22:45, Mircea Trofin wrote: > I took a look - the problem is ...
4 years, 2 months ago (2016-10-18 13:57:29 UTC) #14
Mircea Trofin
some nits, lgtm otherwise. https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc#newcode2185 src/compiler/register-allocator.cc:2185: int predecessor_limit = 2; static ...
4 years, 2 months ago (2016-10-19 23:00:41 UTC) #15
jbramley
Thanks for the review! https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc#newcode2185 src/compiler/register-allocator.cc:2185: int predecessor_limit = 2; On ...
4 years, 2 months ago (2016-10-20 10:16:12 UTC) #16
Mircea Trofin
https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc#newcode2185 src/compiler/register-allocator.cc:2185: int predecessor_limit = 2; On 2016/10/20 10:16:12, jbramley wrote: ...
4 years, 2 months ago (2016-10-20 16:41:11 UTC) #17
jbramley
https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2125463002/diff/40001/src/compiler/register-allocator.cc#newcode2185 src/compiler/register-allocator.cc:2185: int predecessor_limit = 2; On 2016/10/20 16:41:11, Mircea Trofin ...
4 years, 2 months ago (2016-10-21 10:11:14 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2125463002/60001
4 years, 2 months ago (2016-10-21 10:15:52 UTC) #21
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 2 months ago (2016-10-21 10:44:31 UTC) #22
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:09:32 UTC) #24
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/2e360cd83f60ecfa9eaa6d0648450ef937a15a5f
Cr-Commit-Position: refs/heads/master@{#40498}

Powered by Google App Engine
This is Rietveld 408576698