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

Issue 11505002: Improve redundant load elimination (Closed)

Created:
8 years ago by Vyacheslav Egorov (Google)
Modified:
8 years ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Improve redundant load elimination. Previously it incorrectly computed OUT sets during the fix point iteration: did not propagate changed from IN to OUT. However just computing bitset representation of IN set was actually not enough because different values might be coming in from different predecessors. This algorithm inserts phis at merge points. R=fschneider@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=16109

Patch Set 1 #

Patch Set 2 : fix for real #

Total comments: 20

Patch Set 3 : address comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+456 lines, -157 lines) Patch
M runtime/vm/bit_vector.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/bit_vector.cc View 1 1 chunk +12 lines, -0 lines 0 comments Download
M runtime/vm/bit_vector_test.cc View 1 2 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/compiler.cc View 1 3 chunks +4 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 1 chunk +394 lines, -155 lines 1 comment Download
M runtime/vm/intermediate_language.h View 1 2 chunks +18 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Vyacheslav Egorov (Google)
8 years ago (2012-12-10 09:49:51 UTC) #1
Vyacheslav Egorov (Google)
Please take another look. This version passes all the tests.
8 years ago (2012-12-12 18:20:27 UTC) #2
Florian Schneider
LGTM. https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.h File runtime/vm/bit_vector.h (right): https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.h#newcode79 runtime/vm/bit_vector.h:79: bool RemoveAll(const BitVector* from); Maybe add a short ...
8 years ago (2012-12-13 13:17:13 UTC) #3
Florian Schneider
https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.cc File runtime/vm/bit_vector.cc (right): https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.cc#newcode65 runtime/vm/bit_vector.cc:65: bool BitVector::RemoveAll(const BitVector* from) { Please also add a ...
8 years ago (2012-12-13 13:21:06 UTC) #4
Vyacheslav Egorov (Google)
Thank you for the review! Landing. https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.cc File runtime/vm/bit_vector.cc (right): https://codereview.chromium.org/11505002/diff/3001/runtime/vm/bit_vector.cc#newcode65 runtime/vm/bit_vector.cc:65: bool BitVector::RemoveAll(const BitVector* ...
8 years ago (2012-12-13 14:02:59 UTC) #5
srdjan
8 years ago (2012-12-13 18:27:15 UTC) #6
Message was sent while issue was closed.
DBC

https://codereview.chromium.org/11505002/diff/8002/runtime/vm/flow_graph_opti...
File runtime/vm/flow_graph_optimizer.cc (right):

https://codereview.chromium.org/11505002/diff/8002/runtime/vm/flow_graph_opti...
runtime/vm/flow_graph_optimizer.cc:2884: class LoadOptimizer : public
ValueObject {
This is a long class. Maybe it warrants its own file?

Powered by Google App Engine
This is Rietveld 408576698