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

Issue 696363002: Make special RPO computation iterative during scheduling. (Closed)

Created:
6 years, 1 month ago by Michael Starzinger
Modified:
6 years, 1 month ago
Reviewers:
Jarin
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

Make special RPO computation iterative during scheduling. This contains the following changes squashed together: - Switch BasicBlock::loop_end to be a basic block instead of an RPO. - Switch ScheduleLate to use dominator depth instead of RPO. - Switch ScheduleEarly to use dominator depth instead of RPO. - Push out absolute RPO ordering everywhere else in the scheduler. - Keep linked list of blocks in RPO order while scheduling. - Switch from RPO number to depth for dominator calculation. R=jarin@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=25138

Patch Set 1 #

Patch Set 2 : Minor fixes. #

Total comments: 6

Patch Set 3 : Addressed my own nits. #

Total comments: 4

Patch Set 4 : Addressed comments by Jaro. #

Patch Set 5 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+370 lines, -264 lines) Patch
M src/compiler/instruction.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/schedule.h View 2 chunks +9 lines, -5 lines 0 comments Download
M src/compiler/schedule.cc View 4 chunks +11 lines, -4 lines 0 comments Download
M src/compiler/scheduler.h View 4 chunks +6 lines, -1 line 0 comments Download
M src/compiler/scheduler.cc View 1 2 3 26 chunks +332 lines, -244 lines 0 comments Download
M test/cctest/compiler/test-instruction.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-scheduler.cc View 2 chunks +9 lines, -7 lines 0 comments Download
M test/unittests/compiler/register-allocator-unittest.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
Michael Starzinger
Has some rough edges marked with TODOs, but should be ready for our current use-cases.
6 years, 1 month ago (2014-11-03 18:43:23 UTC) #1
Michael Starzinger
Some notes for my stupid future self. https://codereview.chromium.org/696363002/diff/20001/src/compiler/scheduler.cc File src/compiler/scheduler.cc (right): https://codereview.chromium.org/696363002/diff/20001/src/compiler/scheduler.cc#newcode519 src/compiler/scheduler.cc:519: // => ...
6 years, 1 month ago (2014-11-03 21:14:39 UTC) #2
Jarin
lgtm module one question. I love the linked list RPO trick - very clever! https://codereview.chromium.org/696363002/diff/40001/src/compiler/scheduler.cc ...
6 years, 1 month ago (2014-11-04 20:58:29 UTC) #3
Michael Starzinger
Thanks for the review. Addressed comments. Landing. https://codereview.chromium.org/696363002/diff/40001/src/compiler/scheduler.cc File src/compiler/scheduler.cc (right): https://codereview.chromium.org/696363002/diff/40001/src/compiler/scheduler.cc#newcode676 src/compiler/scheduler.cc:676: BlockList* insert_tail ...
6 years, 1 month ago (2014-11-05 09:42:07 UTC) #4
Michael Starzinger
6 years, 1 month ago (2014-11-05 10:10:46 UTC) #5
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as 25138 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698