Index: src/compiler/simplified-operator-reducer.cc |
diff --git a/src/compiler/simplified-operator-reducer.cc b/src/compiler/simplified-operator-reducer.cc |
index d8bd1e0232eb558cb46e6275f2e763d1f333db76..e035f3c7524b797d884dd93ffbde59c0d14ab15a 100644 |
--- a/src/compiler/simplified-operator-reducer.cc |
+++ b/src/compiler/simplified-operator-reducer.cc |
@@ -67,7 +67,14 @@ Reduction SimplifiedOperatorReducer::Reduce(Node* node) { |
if (m.IsChangeTaggedToFloat64()) return Replace(m.node()->InputAt(0)); |
break; |
} |
- case IrOpcode::kChangeInt31ToTaggedSigned: |
+ case IrOpcode::kChangeInt31ToTaggedSigned: { |
+ Int32Matcher m(node->InputAt(0)); |
Michael Starzinger
2016/08/22 12:59:46
nit: Seems like a copy of the below, why the expan
mvstanton
2016/08/24 16:06:28
Done.
|
+ if (m.HasValue()) return ReplaceNumber(m.Value()); |
+ if (m.IsChangeTaggedToInt32() || m.IsChangeTaggedSignedToInt32()) { |
+ return Replace(m.InputAt(0)); |
+ } |
+ break; |
+ } |
case IrOpcode::kChangeInt32ToTagged: { |
Int32Matcher m(node->InputAt(0)); |
if (m.HasValue()) return ReplaceNumber(m.Value()); |