| Index: sdk/lib/_internal/compiler/implementation/ssa/variable_allocator.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/ssa/variable_allocator.dart (revision 14553)
|
| +++ sdk/lib/_internal/compiler/implementation/ssa/variable_allocator.dart (working copy)
|
| @@ -287,7 +287,9 @@
|
|
|
| // If the block is a loop header, we can remove the loop marker,
|
| // because it will just recompute the loop phis.
|
| - if (block.isLoopHeader()) {
|
| + // We also check if this loop header has any back edges. If not,
|
| + // we know there is no loop marker for it.
|
| + if (block.isLoopHeader() && block.predecessors.length > 1) {
|
| updateLoopMarker(block);
|
| }
|
| }
|
|
|