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

Issue 11361035: Fix a LICM bug where we were loop hoisting an isntruction, even though that isntruction's inputs we… (Closed)

Created:
8 years, 1 month ago by ngeoffray
Modified:
8 years, 1 month ago
Reviewers:
kasperl
CC:
reviews_dartlang.org, compiler-dev_dartlang.org
Visibility:
Public.

Description

Fix a LICM bug where we were loop hoisting an isntruction, even though that isntruction's inputs were changed before. Committed: https://code.google.com/p/dart/source/detail?r=14414

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -5 lines) Patch
M lib/compiler/implementation/ssa/optimize.dart View 1 2 chunks +8 lines, -3 lines 0 comments Download
M tests/language/language_dart2js.status View 1 1 chunk +0 lines, -2 lines 0 comments Download
A tests/language/licm_test.dart View 1 chunk +25 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
ngeoffray
Turns out, we already had the list of blocks that are in the loop :)
8 years, 1 month ago (2012-11-01 13:57:44 UTC) #1
kasperl
LGTM! https://codereview.chromium.org/11361035/diff/1/lib/compiler/implementation/ssa/optimize.dart File lib/compiler/implementation/ssa/optimize.dart (right): https://codereview.chromium.org/11361035/diff/1/lib/compiler/implementation/ssa/optimize.dart#newcode908 lib/compiler/implementation/ssa/optimize.dart:908: HBasicBlock preheader = loopHeader.predecessors[0]; Maybe assert that block ...
8 years, 1 month ago (2012-11-01 14:00:17 UTC) #2
ngeoffray
8 years, 1 month ago (2012-11-01 16:15:19 UTC) #3
Thanks Kasper

https://codereview.chromium.org/11361035/diff/1/lib/compiler/implementation/s...
File lib/compiler/implementation/ssa/optimize.dart (right):

https://codereview.chromium.org/11361035/diff/1/lib/compiler/implementation/s...
lib/compiler/implementation/ssa/optimize.dart:908: HBasicBlock preheader =
loopHeader.predecessors[0];
On 2012/11/01 14:00:17, kasperl wrote:
> Maybe assert that block is part of the loop defined by loopHeader?

Done.

Powered by Google App Engine
This is Rietveld 408576698