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

Issue 2159303002: [turbofan] Improve the store-store elimination. (Closed)

Created:
4 years, 5 months ago by bgeron
Modified:
4 years, 4 months ago
Reviewers:
Jarin
CC:
v8-reviews_googlegroups.com, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@p1-base
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Improve the store-store elimination. It can now deal with multiple objects at the same time (but no aliasing), and it propagates store information upwards across effect chain splits. R=jarin BUG= Committed: https://crrev.com/5caabdd5ccf549bec8553a76c6128cee78a3af91 Cr-Commit-Position: refs/heads/master@{#38509}

Patch Set 1 #

Patch Set 2 : Silence silly compiler warnings. #

Total comments: 18

Patch Set 3 : Incorporate feedback. #

Patch Set 4 : Fix a compile error in release mode and a compile error for MSVC. #

Total comments: 1

Patch Set 5 : Fix dchecked invariant: Start is the only node that may have effect use but no input #

Patch Set 6 : Cut down on documentation and tracing. There is now only a single trace level. #

Total comments: 31

Patch Set 7 : Address feedback on reviewed part. #

Patch Set 8 : Determined -> visited. #

Total comments: 18

Patch Set 9 : Address 2 out of 6 feedbacksies. #

Patch Set 10 : Iterate differently over control inputs. Cache VisitedEmpty. #

Patch Set 11 : Merge with master. #

Patch Set 12 : Fix merge conflict #

Unified diffs Side-by-side diffs Delta from patch set Stats (+545 lines, -267 lines) Patch
M src/compiler/pipeline.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +30 lines, -3 lines 0 comments Download
M src/compiler/store-store-elimination.h View 1 2 1 chunk +2 lines, -17 lines 0 comments Download
M src/compiler/store-store-elimination.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +510 lines, -245 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +3 lines, -2 lines 0 comments Download

Messages

Total messages: 58 (42 generated)
bgeron
Please take a look.
4 years, 5 months ago (2016-07-19 18:09:42 UTC) #3
Jarin
First batch of comments. https://codereview.chromium.org/2159303002/diff/20001/src/compiler/pipeline.cc File src/compiler/pipeline.cc (right): https://codereview.chromium.org/2159303002/diff/20001/src/compiler/pipeline.cc#newcode1538 src/compiler/pipeline.cc:1538: Run<CommonOperatorReducerPhase>(); Just curious - why ...
4 years, 5 months ago (2016-07-20 11:43:34 UTC) #10
bgeron
See below. https://codereview.chromium.org/2159303002/diff/20001/src/compiler/pipeline.cc File src/compiler/pipeline.cc (right): https://codereview.chromium.org/2159303002/diff/20001/src/compiler/pipeline.cc#newcode1538 src/compiler/pipeline.cc:1538: Run<CommonOperatorReducerPhase>(); On 2016/07/20 11:43:33, Jarin wrote: > ...
4 years, 5 months ago (2016-07-20 16:27:17 UTC) #11
bgeron
https://codereview.chromium.org/2159303002/diff/60001/src/compiler/store-store-elimination.cc File src/compiler/store-store-elimination.cc (right): https://codereview.chromium.org/2159303002/diff/60001/src/compiler/store-store-elimination.cc#newcode356 src/compiler/store-store-elimination.cc:356: DCHECK(isEffectful); Tests currently fail on this. Checking this only ...
4 years, 5 months ago (2016-07-20 17:29:47 UTC) #19
bgeron
Cut down on documentation and tracing.
4 years, 5 months ago (2016-07-21 11:01:16 UTC) #26
Jarin
https://codereview.chromium.org/2159303002/diff/100001/src/compiler/pipeline.cc File src/compiler/pipeline.cc (right): https://codereview.chromium.org/2159303002/diff/100001/src/compiler/pipeline.cc#newcode1039 src/compiler/pipeline.cc:1039: struct CommonOperatorReducerPhase { Rename to DeadCodeEliminationPhase (because that is ...
4 years, 5 months ago (2016-07-25 09:52:13 UTC) #29
bgeron
Thanks. See below. Also, don't forgot to review the part you hadn't reviewed yet at ...
4 years, 4 months ago (2016-07-27 13:40:38 UTC) #32
Jarin
Almost there, I like it! https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc File src/compiler/store-store-elimination.cc (right): https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc#newcode186 src/compiler/store-store-elimination.cc:186: return ((size_t)1) << ElementSizeLog2Of(rep); ...
4 years, 4 months ago (2016-08-01 08:25:43 UTC) #35
bgeron
https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc File src/compiler/store-store-elimination.cc (right): https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc#newcode186 src/compiler/store-store-elimination.cc:186: return ((size_t)1) << ElementSizeLog2Of(rep); On 2016/08/01 08:25:43, Jarin wrote: ...
4 years, 4 months ago (2016-08-04 12:31:02 UTC) #36
Jarin
lgtm. https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc File src/compiler/store-store-elimination.cc (right): https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc#newcode381 src/compiler/store-store-elimination.cc:381: for (Edge edge : node->input_edges()) { On 2016/08/04 ...
4 years, 4 months ago (2016-08-05 13:49:49 UTC) #41
bgeron
https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc File src/compiler/store-store-elimination.cc (right): https://codereview.chromium.org/2159303002/diff/130001/src/compiler/store-store-elimination.cc#newcode381 src/compiler/store-store-elimination.cc:381: for (Edge edge : node->input_edges()) { On 2016/08/05 13:49:49, ...
4 years, 4 months ago (2016-08-09 18:52:52 UTC) #44
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/2159303002/210001
4 years, 4 months ago (2016-08-09 19:25:04 UTC) #53
commit-bot: I haz the power
Committed patchset #12 (id:210001)
4 years, 4 months ago (2016-08-09 20:00:34 UTC) #54
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/5caabdd5ccf549bec8553a76c6128cee78a3af91 Cr-Commit-Position: refs/heads/master@{#38509}
4 years, 4 months ago (2016-08-09 20:00:48 UTC) #56
zhengxing.li
On 2016/08/09 20:00:48, commit-bot: I haz the power wrote: > Patchset 12 (id:??) landed as ...
4 years, 4 months ago (2016-08-10 02:37:14 UTC) #57
Jarin
4 years, 4 months ago (2016-08-10 07:27:39 UTC) #58
Message was sent while issue was closed.
On 2016/08/10 02:37:14, zhengxing.li wrote:
> On 2016/08/09 20:00:48, commit-bot: I haz the power wrote:
> > Patchset 12 (id:??) landed as
> > https://crrev.com/5caabdd5ccf549bec8553a76c6128cee78a3af91
> > Cr-Commit-Position: refs/heads/master@{#38509}
> 
> In src/compiler/store-store-elimination.cc: class RedundantStoreFinder defined
a
> virtual member function, virtual void Visit(Node* node), but didn't defined a
> virtual deconstructor.
> 
> The GCC compiler will complain:
> error: ‘class v8::internal::compiler::{anonymous}::RedundantStoreFinder’ has
> virtual functions and accessible non-virtual destructor
> [-Werror=non-virtual-dtor]
> 
> Would you please fix this issue?

Should be fixed now (https://codereview.chromium.org/2234703002/).

Powered by Google App Engine
This is Rietveld 408576698