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

Issue 12218181: Recognize pattern (a << b) & c with c being a positive Smi and allow left shift to truncate the res… (Closed)

Created:
7 years, 10 months ago by srdjan
Modified:
7 years, 10 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Recognize pattern (a << b) & c with c being a positive Smi and allow left shift to truncate the result. Committed: https://code.google.com/p/dart/source/detail?r=18859

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 13

Patch Set 4 : #

Patch Set 5 : #

Total comments: 9

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+499 lines, -160 lines) Patch
M runtime/vm/compiler.cc View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 2 3 4 5 6 7 3 chunks +14 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 7 4 chunks +104 lines, -8 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 8 chunks +18 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 4 5 3 chunks +10 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 5 5 chunks +135 lines, -74 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 5 5 chunks +135 lines, -74 lines 0 comments Download
A tests/standalone/left_shift_bit_and_op_test.dart View 1 2 3 4 1 chunk +75 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
srdjan
7 years, 10 months ago (2013-02-20 00:01:46 UTC) #1
Vyacheslav Egorov (Google)
LGTM with comments addresses I think it might have fit into Canonicalize pass but I ...
7 years, 10 months ago (2013-02-20 00:37:06 UTC) #2
srdjan
PTAL, moved the optimization before inlining. Also eagerly eliminate some Smi checks (we can do ...
7 years, 10 months ago (2013-02-21 00:47:17 UTC) #3
Florian Schneider
DBC: https://codereview.chromium.org/12218181/diff/20002/runtime/vm/intermediate_language.h File runtime/vm/intermediate_language.h (right): https://codereview.chromium.org/12218181/diff/20002/runtime/vm/intermediate_language.h#newcode245 runtime/vm/intermediate_language.h:245: return (next_use_ == NULL) && (previous_use_ == NULL); ...
7 years, 10 months ago (2013-02-21 10:30:47 UTC) #4
Kevin Millikin (Google)
More drive bys :) https://codereview.chromium.org/12218181/diff/20002/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/12218181/diff/20002/runtime/vm/flow_graph_optimizer.cc#newcode189 runtime/vm/flow_graph_optimizer.cc:189: void FlowGraphOptimizer::OptimizeLeftShiftBitAndSmiOp( I also think ...
7 years, 10 months ago (2013-02-21 12:44:35 UTC) #5
Vyacheslav Egorov (Google)
tentative lgtm https://codereview.chromium.org/12218181/diff/20002/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/12218181/diff/20002/runtime/vm/compiler.cc#newcode183 runtime/vm/compiler.cc:183: // TODO(srdjan): Move de before inlinining until ...
7 years, 10 months ago (2013-02-21 14:45:50 UTC) #6
srdjan
https://codereview.chromium.org/12218181/diff/20002/runtime/vm/intermediate_language.h File runtime/vm/intermediate_language.h (right): https://codereview.chromium.org/12218181/diff/20002/runtime/vm/intermediate_language.h#newcode245 runtime/vm/intermediate_language.h:245: return (next_use_ == NULL) && (previous_use_ == NULL); On ...
7 years, 10 months ago (2013-02-21 15:56:27 UTC) #7
srdjan
https://codereview.chromium.org/12218181/diff/12001/runtime/vm/intermediate_language_ia32.cc File runtime/vm/intermediate_language_ia32.cc (right): https://codereview.chromium.org/12218181/diff/12001/runtime/vm/intermediate_language_ia32.cc#newcode2164 runtime/vm/intermediate_language_ia32.cc:2164: summary->set_temp(0, Location::RequiresRegister()); On 2013/02/20 00:37:06, Vyacheslav Egorov (Google) wrote: ...
7 years, 10 months ago (2013-02-21 21:55:31 UTC) #8
srdjan
7 years, 10 months ago (2013-02-21 22:24:51 UTC) #9
Message was sent while issue was closed.
Committed patchset #8 manually as r18859 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698