Index: runtime/vm/flow_graph.cc |
diff --git a/runtime/vm/flow_graph.cc b/runtime/vm/flow_graph.cc |
index 84b9e483e42517457bd48e6b7bce6e65207ac959..2ca8a1606617f45dd64fe9d50b4abed671e0780d 100644 |
--- a/runtime/vm/flow_graph.cc |
+++ b/runtime/vm/flow_graph.cc |
@@ -2280,20 +2280,18 @@ void FlowGraph::TryMergeTruncDivMod( |
(*merge_candidates)[k] = NULL; // Clear it. |
ASSERT(curr_instr->HasUses()); |
AppendExtractNthOutputForMerged( |
- curr_instr, MergedMathInstr::OutputIndexOf(curr_instr->op_kind()), |
+ curr_instr, TruncDivModInstr::OutputIndexOf(curr_instr->op_kind()), |
kTagged, kSmiCid); |
ASSERT(other_binop->HasUses()); |
AppendExtractNthOutputForMerged( |
- other_binop, MergedMathInstr::OutputIndexOf(other_binop->op_kind()), |
- kTagged, kSmiCid); |
- |
- ZoneGrowableArray<Value*>* args = new (Z) ZoneGrowableArray<Value*>(2); |
- args->Add(new (Z) Value(curr_instr->left()->definition())); |
- args->Add(new (Z) Value(curr_instr->right()->definition())); |
+ other_binop, |
+ TruncDivModInstr::OutputIndexOf(other_binop->op_kind()), kTagged, |
+ kSmiCid); |
// Replace with TruncDivMod. |
- MergedMathInstr* div_mod = new (Z) MergedMathInstr( |
- args, curr_instr->deopt_id(), MergedMathInstr::kTruncDivMod); |
+ TruncDivModInstr* div_mod = new (Z) TruncDivModInstr( |
+ curr_instr->left()->CopyWithType(), |
+ curr_instr->right()->CopyWithType(), curr_instr->deopt_id()); |
curr_instr->ReplaceWith(div_mod, NULL); |
other_binop->ReplaceUsesWith(div_mod); |
other_binop->RemoveFromGraph(); |