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

Issue 12340108: Remove dead phis as soon as they are discovered. (Closed)

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

Description

Remove dead phis as soon as they are discovered. Previously we removed dead phis late, in the register allocator. This change removes them as soon as they are discovered to be dead and packs the phi array to squeeze out NULLs. This speeds iteration but doesn't save space because the phi array is zone-allocated. The PhiIterator is used everywhere to iterate phis except a few places that need to know the phi index (e.g., SSA construction, phi elimination). R=vegorov@google.com Committed: https://code.google.com/p/dart/source/detail?r=19206

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+129 lines, -159 lines) Patch
M runtime/vm/compiler.cc View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph.cc View 7 chunks +21 lines, -16 lines 0 comments Download
M runtime/vm/flow_graph_allocator.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_allocator.cc View 7 chunks +37 lines, -73 lines 2 comments Download
M runtime/vm/flow_graph_builder.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 6 chunks +36 lines, -30 lines 2 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 2 chunks +1 line, -8 lines 0 comments Download
M runtime/vm/intermediate_language.h View 4 chunks +7 lines, -12 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 3 chunks +22 lines, -14 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Kevin Millikin (Google)
7 years, 9 months ago (2013-02-27 14:05:58 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/12340108/diff/1/runtime/vm/flow_graph_allocator.cc File runtime/vm/flow_graph_allocator.cc (left): https://codereview.chromium.org/12340108/diff/1/runtime/vm/flow_graph_allocator.cc#oldcode112 runtime/vm/flow_graph_allocator.cc:112: it.SetCurrentValue(push_argument->value()->Copy()); What happened to this special PushArgument handling? ...
7 years, 9 months ago (2013-02-27 21:53:02 UTC) #2
Kevin Millikin (Google)
https://codereview.chromium.org/12340108/diff/1/runtime/vm/flow_graph_allocator.cc File runtime/vm/flow_graph_allocator.cc (left): https://codereview.chromium.org/12340108/diff/1/runtime/vm/flow_graph_allocator.cc#oldcode112 runtime/vm/flow_graph_allocator.cc:112: it.SetCurrentValue(push_argument->value()->Copy()); On 2013/02/27 21:53:02, Vyacheslav Egorov (Google) wrote: > ...
7 years, 9 months ago (2013-02-28 08:12:02 UTC) #3
Kevin Millikin (Google)
7 years, 9 months ago (2013-02-28 08:26:09 UTC) #4
Message was sent while issue was closed.
Committed patchset #1 manually as r19206 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698