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

Issue 12540002: Implement a branch optimization pass. (Closed)

Created:
7 years, 9 months ago by Kevin Millikin (Google)
Modified:
7 years, 9 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Implement a branch optimization pass. Branch optimization pushes some branches that test the value of a phi to the predecessor blocks. This can avoid materializing a boolean object solely for the purposes of branching on its boolean value. The optimization is performed after inlinining which creates opportunities, and before constant propagation, because it exposes opportunities for unreachable code elimination. R=vegorov@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=19682

Patch Set 1 #

Patch Set 2 : #

Total comments: 6

Patch Set 3 : Incorporated review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+248 lines, -17 lines) Patch
M runtime/vm/compiler.cc View 1 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 2 1 chunk +29 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 1 chunk +181 lines, -0 lines 0 comments Download
M runtime/vm/il_printer.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 chunk +15 lines, -16 lines 0 comments Download
M runtime/vm/intermediate_language.h View 3 chunks +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.cc View 2 chunks +14 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Kevin Millikin (Google)
7 years, 9 months ago (2013-03-06 15:39:13 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/12540002/diff/2001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/12540002/diff/2001/runtime/vm/flow_graph_optimizer.cc#newcode4426 runtime/vm/flow_graph_optimizer.cc:4426: BranchInstr* BranchSimplifier::RewriteBranch(BranchInstr* branch, I'd call it CloneBranch CloneRewrittenBranch ...
7 years, 9 months ago (2013-03-06 16:44:22 UTC) #2
Kevin Millikin (Google)
https://codereview.chromium.org/12540002/diff/2001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/12540002/diff/2001/runtime/vm/flow_graph_optimizer.cc#newcode4426 runtime/vm/flow_graph_optimizer.cc:4426: BranchInstr* BranchSimplifier::RewriteBranch(BranchInstr* branch, On 2013/03/06 16:44:22, Vyacheslav Egorov (Google) ...
7 years, 9 months ago (2013-03-08 10:38:10 UTC) #3
Kevin Millikin (Google)
7 years, 9 months ago (2013-03-08 11:14:18 UTC) #4
Message was sent while issue was closed.
Committed patchset #3 manually as r19682 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698