Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index 5ad3928e310bfde877fd00e63523fbf29470a74c..1905c75107cee8732d5952a784cc9dcca2ee4909 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -1687,6 +1687,21 @@ class RepresentationSelector { |
UseInfo::TruncatingWord32(), MachineRepresentation::kWord32); |
return; |
} |
+ case IrOpcode::kCheckNumber: { |
+ if (InputIs(node, Type::Number())) { |
+ if (truncation.TruncatesToWord32()) { |
+ VisitUnop(node, UseInfo::TruncatingWord32(), |
+ MachineRepresentation::kWord32); |
+ } else { |
+ VisitUnop(node, UseInfo::TruncatingFloat64(), |
+ MachineRepresentation::kFloat64); |
+ } |
+ if (lower()) DeferReplacement(node, node->InputAt(0)); |
+ } else { |
+ VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kTagged); |
+ } |
+ return; |
+ } |
case IrOpcode::kCheckTaggedPointer: { |
VisitUnop(node, UseInfo::AnyTagged(), MachineRepresentation::kTagged); |
if (lower()) { |