aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/dead-code-elimination.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/dead-code-elimination.cc')
-rw-r--r--deps/v8/src/compiler/dead-code-elimination.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/deps/v8/src/compiler/dead-code-elimination.cc b/deps/v8/src/compiler/dead-code-elimination.cc
index 424db00fc4..2251121c7f 100644
--- a/deps/v8/src/compiler/dead-code-elimination.cc
+++ b/deps/v8/src/compiler/dead-code-elimination.cc
@@ -65,7 +65,8 @@ Reduction DeadCodeElimination::Reduce(Node* node) {
case IrOpcode::kDeoptimize:
case IrOpcode::kReturn:
case IrOpcode::kTerminate:
- return ReduceDeoptimizeOrReturnOrTerminate(node);
+ case IrOpcode::kTailCall:
+ return ReduceDeoptimizeOrReturnOrTerminateOrTailCall(node);
case IrOpcode::kThrow:
return PropagateDeadControl(node);
case IrOpcode::kBranch:
@@ -281,10 +282,12 @@ Reduction DeadCodeElimination::ReduceEffectNode(Node* node) {
return NoChange();
}
-Reduction DeadCodeElimination::ReduceDeoptimizeOrReturnOrTerminate(Node* node) {
+Reduction DeadCodeElimination::ReduceDeoptimizeOrReturnOrTerminateOrTailCall(
+ Node* node) {
DCHECK(node->opcode() == IrOpcode::kDeoptimize ||
node->opcode() == IrOpcode::kReturn ||
- node->opcode() == IrOpcode::kTerminate);
+ node->opcode() == IrOpcode::kTerminate ||
+ node->opcode() == IrOpcode::kTailCall);
Reduction reduction = PropagateDeadControl(node);
if (reduction.Changed()) return reduction;
if (FindDeadInput(node) != nullptr) {