| Index: src/compiler/common-operator-reducer.cc
|
| diff --git a/src/compiler/common-operator-reducer.cc b/src/compiler/common-operator-reducer.cc
|
| index 12fb0dc77b84766afbeac71ccb30b9ef9ef4bf40..85d49b7ae61be8508039a5160edd13b1fe080b33 100644
|
| --- a/src/compiler/common-operator-reducer.cc
|
| +++ b/src/compiler/common-operator-reducer.cc
|
| @@ -287,7 +287,6 @@ Reduction CommonOperatorReducer::ReducePhi(Node* node) {
|
|
|
| Reduction CommonOperatorReducer::ReduceReturn(Node* node) {
|
| DCHECK_EQ(IrOpcode::kReturn, node->opcode());
|
| - Node* const value = node->InputAt(1);
|
| Node* effect = NodeProperties::GetEffectInput(node);
|
| Node* const control = NodeProperties::GetControlInput(node);
|
| bool changed = false;
|
| @@ -298,6 +297,11 @@ Reduction CommonOperatorReducer::ReduceReturn(Node* node) {
|
| NodeProperties::ReplaceEffectInput(node, effect);
|
| changed = true;
|
| }
|
| + // TODO(ahaas): Extend the reduction below to multiple return values.
|
| + if (ValueInputCountOfReturn(node->op()) != 1) {
|
| + return NoChange();
|
| + }
|
| + Node* const value = node->InputAt(1);
|
| if (value->opcode() == IrOpcode::kPhi &&
|
| NodeProperties::GetControlInput(value) == control &&
|
| effect->opcode() == IrOpcode::kEffectPhi &&
|
|
|