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

Issue 2120253002: [turbofan] Initial version of the new LoadElimination. (Closed)

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

Description

[turbofan] Initial version of the new LoadElimination. This adds a new optimization phase to the TurboFan pipeline, which walks over the effect chain and tries to eliminate redundant loads (and even some stores) of object fields. We currently ignore element access, but that will probably need to be handled as well at some point. We also don't have any special treatment to properly track object maps, which is also on the list of things that will happen afterwards. The implementation is pretty simple currently, and probably way to inefficient. It's meant to be a proof-of-concept to iterate on. R=jarin@chromium.org BUG=v8:4930, v8:5141 Committed: https://crrev.com/d70dc1ace4e2a27ccdbdc6550f16e1499087ff48 Cr-Commit-Position: refs/heads/master@{#37528}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Fix DCHECK. Check types on substitution. #

Total comments: 2

Patch Set 3 : Address comments. #

Patch Set 4 : REBASE. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+483 lines, -117 lines) Patch
M src/compiler/load-elimination.h View 1 2 1 chunk +12 lines, -14 lines 0 comments Download
M src/compiler/load-elimination.cc View 1 2 3 1 chunk +405 lines, -64 lines 0 comments Download
M src/compiler/pipeline.cc View 1 2 3 4 chunks +21 lines, -3 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +3 lines, -0 lines 0 comments Download
D test/unittests/compiler/load-elimination-unittest.cc View 1 2 3 chunks +42 lines, -36 lines 0 comments Download

Messages

Total messages: 24 (10 generated)
Benedikt Meurer
4 years, 5 months ago (2016-07-04 12:35:30 UTC) #1
Jarin
https://codereview.chromium.org/2120253002/diff/1/src/compiler/load-elimination.cc File src/compiler/load-elimination.cc (right): https://codereview.chromium.org/2120253002/diff/1/src/compiler/load-elimination.cc#newcode69 src/compiler/load-elimination.cc:69: bool MayAlias(Node* a, Node* b) { return QueryAlias(a, b) ...
4 years, 5 months ago (2016-07-04 13:18:07 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2120253002/60001
4 years, 5 months ago (2016-07-04 17:34:04 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mipsel_compile_rel on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mipsel_compile_rel/builds/17156)
4 years, 5 months ago (2016-07-04 17:38:15 UTC) #7
Benedikt Meurer
https://codereview.chromium.org/2120253002/diff/1/src/compiler/load-elimination.cc File src/compiler/load-elimination.cc (right): https://codereview.chromium.org/2120253002/diff/1/src/compiler/load-elimination.cc#newcode69 src/compiler/load-elimination.cc:69: bool MayAlias(Node* a, Node* b) { return QueryAlias(a, b) ...
4 years, 5 months ago (2016-07-05 11:29:10 UTC) #8
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/2120253002/80001
4 years, 5 months ago (2016-07-05 11:29:46 UTC) #11
commit-bot: I haz the power
No L-G-T-M from a valid reviewer yet. CQ run can only be started by full ...
4 years, 5 months ago (2016-07-05 11:29:48 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2120253002/80001
4 years, 5 months ago (2016-07-05 11:30:06 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_mac_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/4456)
4 years, 5 months ago (2016-07-05 11:31:52 UTC) #17
Jarin
lgtm. Thanks!
4 years, 5 months ago (2016-07-05 11:54:34 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/2120253002/100001
4 years, 5 months ago (2016-07-05 11:55:02 UTC) #20
commit-bot: I haz the power
Committed patchset #4 (id:100001)
4 years, 5 months ago (2016-07-05 12:19:54 UTC) #21
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-05 12:19:55 UTC) #22
commit-bot: I haz the power
4 years, 5 months ago (2016-07-05 12:20:29 UTC) #24
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/d70dc1ace4e2a27ccdbdc6550f16e1499087ff48
Cr-Commit-Position: refs/heads/master@{#37528}

Powered by Google App Engine
This is Rietveld 408576698