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); |
} |
} |