Chromium Code Reviews| Index: runtime/vm/flow_graph_optimizer.cc |
| diff --git a/runtime/vm/flow_graph_optimizer.cc b/runtime/vm/flow_graph_optimizer.cc |
| index a02a048f50c3c75d750092c4c44fcd1c185e0c58..8072c6abd77b8f58b29637caaa3033bc3fd7f1b4 100644 |
| --- a/runtime/vm/flow_graph_optimizer.cc |
| +++ b/runtime/vm/flow_graph_optimizer.cc |
| @@ -527,6 +527,9 @@ void FlowGraphOptimizer::VisitStoreIndexed(StoreIndexedComp* comp, |
| } |
| +#if 0 |
| +// TODO(vegorov): land a separate CL to fix the fusion. Now it should remove |
| +// instruction from the graph to avoid confusing register allocator. |
| static void TryFuseComparisonWithBranch(BindInstr* instr, |
| ComparisonComp* comp) { |
| Instruction* next_instr = instr->next(); |
| @@ -558,6 +561,7 @@ static void TryFuseComparisonWithBranch(BindInstr* instr, |
| } |
| } |
| } |
| +#endif |
| void FlowGraphOptimizer::VisitRelationalOp(RelationalOpComp* comp, |
| @@ -581,13 +585,17 @@ void FlowGraphOptimizer::VisitRelationalOp(RelationalOpComp* comp, |
| // For smi and double comparisons if the next instruction is a conditional |
| // branch that uses the value of this comparison mark them as fused together |
| // to avoid materializing a boolean value. |
| +#if 0 |
|
srdjan
2012/07/11 17:22:32
Enable once synced with branch fusion fix
|
| TryFuseComparisonWithBranch(instr, comp); |
| +#endif |
| } |
| void FlowGraphOptimizer::VisitStrictCompare(StrictCompareComp* comp, |
| BindInstr* instr) { |
| +#if 0 |
| TryFuseComparisonWithBranch(instr, comp); |
| +#endif |
| } |
| @@ -600,7 +608,9 @@ void FlowGraphOptimizer::VisitEqualityCompare(EqualityCompareComp* comp, |
| comp->set_ic_data(&unary_checks); |
| } |
| +#if 0 |
| TryFuseComparisonWithBranch(instr, comp); |
| +#endif |
| } |