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

Issue 11299011: Avoid critical edge on do/while, and do not make handleLoopInfo return conditionnaly false: block b… (Closed)

Created:
8 years, 1 month ago by ngeoffray
Modified:
8 years, 1 month ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Avoid critical edge on do/while, and do not make handleLoopInfo return conditionnaly false: block based and dominator based traversal in codegen don't compose. Therefore have the block based visit handle the phi updates. Committed: https://code.google.com/p/dart/source/detail?r=15017

Patch Set 1 : #

Total comments: 4

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+31 lines, -25 lines) Patch
M sdk/lib/_internal/compiler/implementation/ssa/builder.dart View 1 2 1 chunk +6 lines, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/codegen.dart View 1 4 chunks +25 lines, -23 lines 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 5 (0 generated)
ngeoffray
8 years, 1 month ago (2012-11-15 16:45:54 UTC) #1
floitsch
LGTM. https://codereview.chromium.org/11299011/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart File sdk/lib/_internal/compiler/implementation/ssa/builder.dart (right): https://codereview.chromium.org/11299011/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart#newcode2052 sdk/lib/_internal/compiler/implementation/ssa/builder.dart:2052: HBasicBlock avoidEdge = addNewBlock(); avoidCriticalEdge, or but comment ...
8 years, 1 month ago (2012-11-16 14:05:43 UTC) #2
ngeoffray
Thanks Florian. https://codereview.chromium.org/11299011/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart File sdk/lib/_internal/compiler/implementation/ssa/builder.dart (right): https://codereview.chromium.org/11299011/diff/2001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart#newcode2052 sdk/lib/_internal/compiler/implementation/ssa/builder.dart:2052: HBasicBlock avoidEdge = addNewBlock(); On 2012/11/16 14:05:43, ...
8 years, 1 month ago (2012-11-16 14:14:59 UTC) #3
Lasse Reichstein Nielsen
lgtm https://codereview.chromium.org/11299011/diff/6001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart File sdk/lib/_internal/compiler/implementation/ssa/builder.dart (right): https://codereview.chromium.org/11299011/diff/6001/sdk/lib/_internal/compiler/implementation/ssa/builder.dart#newcode2053 sdk/lib/_internal/compiler/implementation/ssa/builder.dart:2053: conditionEndBlock.addSuccessor(avoidCriticalEdge); // The back-edge. Seems like the avoidCriticalEdge's ...
8 years, 1 month ago (2012-11-16 15:12:17 UTC) #4
ngeoffray
8 years, 1 month ago (2012-11-16 16:39:45 UTC) #5
Thanks Lasse

https://codereview.chromium.org/11299011/diff/6001/sdk/lib/_internal/compiler...
File sdk/lib/_internal/compiler/implementation/ssa/builder.dart (right):

https://codereview.chromium.org/11299011/diff/6001/sdk/lib/_internal/compiler...
sdk/lib/_internal/compiler/implementation/ssa/builder.dart:2053:
conditionEndBlock.addSuccessor(avoidCriticalEdge);  // The back-edge.
On 2012/11/16 15:12:17, Lasse Reichstein Nielsen wrote:
> Seems like the avoidCriticalEdge's successor is the back-edge.

Done.

Powered by Google App Engine
This is Rietveld 408576698