| Index: src/compiler/common-operator-reducer.cc
|
| diff --git a/src/compiler/common-operator-reducer.cc b/src/compiler/common-operator-reducer.cc
|
| index 2f486833c609c464d2995f466283ff42788b9c30..a6d275fd4e909db98b4358acd61ae5a2e4652f86 100644
|
| --- a/src/compiler/common-operator-reducer.cc
|
| +++ b/src/compiler/common-operator-reducer.cc
|
| @@ -142,13 +142,14 @@ Reduction CommonOperatorReducer::ReduceDeoptimizeConditional(Node* node) {
|
| Decision const decision = DecideCondition(condition);
|
| if (decision == Decision::kUnknown) return NoChange();
|
| if (condition_is_true == (decision == Decision::kTrue)) {
|
| - return Replace(control);
|
| + ReplaceWithValue(node, dead(), effect, control);
|
| + } else {
|
| + control = graph()->NewNode(common()->Deoptimize(DeoptimizeKind::kEager),
|
| + frame_state, effect, control);
|
| + // TODO(bmeurer): This should be on the AdvancedReducer somehow.
|
| + NodeProperties::MergeControlToEnd(graph(), common(), control);
|
| + Revisit(graph()->end());
|
| }
|
| - control = graph()->NewNode(common()->Deoptimize(DeoptimizeKind::kEager),
|
| - frame_state, effect, control);
|
| - // TODO(bmeurer): This should be on the AdvancedReducer somehow.
|
| - NodeProperties::MergeControlToEnd(graph(), common(), control);
|
| - Revisit(graph()->end());
|
| return Replace(dead());
|
| }
|
|
|
|
|