| Index: lib/compiler/implementation/ssa/codegen_helpers.dart
|
| diff --git a/lib/compiler/implementation/ssa/codegen_helpers.dart b/lib/compiler/implementation/ssa/codegen_helpers.dart
|
| index 64453d782273bd701cbabf7e79d867a67e8296ff..f03ab183a11b2641407a6f24eb406b07c9ccf451 100644
|
| --- a/lib/compiler/implementation/ssa/codegen_helpers.dart
|
| +++ b/lib/compiler/implementation/ssa/codegen_helpers.dart
|
| @@ -440,14 +440,15 @@ class PhiEquivalator {
|
| PhiEquivalator(this.equivalence, this.logicalOperations);
|
|
|
| void analyzeGraph(HGraph graph) {
|
| - graph.blocks.forEach((HBasicBlock block) => analyzeBlock(block));
|
| + graph.blocks.forEach(analyzeBlock);
|
| }
|
|
|
| void analyzeBlock(HBasicBlock block) {
|
| for (HPhi phi = block.phis.first; phi !== null; phi = phi.next) {
|
| if (!logicalOperations.containsKey(phi) &&
|
| phi.usedBy.length == 1 &&
|
| - phi.usedBy[0] is HPhi) {
|
| + phi.usedBy[0] is HPhi &&
|
| + phi.block.id < phi.usedBy[0].block.id) {
|
| equivalence.makeEquivalent(phi, phi.usedBy[0]);
|
| }
|
| }
|
|
|