| Index: src/compiler/simplified-operator-reducer.cc
|
| diff --git a/src/compiler/simplified-operator-reducer.cc b/src/compiler/simplified-operator-reducer.cc
|
| index 0d9ddc1b2d0253e31ab487fdc971f78ec13b607b..991e4fc82d856ba9615ce5b1f55179432be3bcaf 100644
|
| --- a/src/compiler/simplified-operator-reducer.cc
|
| +++ b/src/compiler/simplified-operator-reducer.cc
|
| @@ -148,6 +148,11 @@ Reduction SimplifiedOperatorReducer::Reduce(Node* node) {
|
| ReplaceWithValue(node, input);
|
| return Replace(input);
|
| }
|
| + NodeMatcher m(input);
|
| + if (m.IsCheckTaggedPointer()) {
|
| + ReplaceWithValue(node, input);
|
| + return Replace(input);
|
| + }
|
| break;
|
| }
|
| case IrOpcode::kCheckTaggedSigned: {
|
| @@ -157,7 +162,10 @@ Reduction SimplifiedOperatorReducer::Reduce(Node* node) {
|
| return Replace(input);
|
| }
|
| NodeMatcher m(input);
|
| - if (m.IsConvertTaggedHoleToUndefined()) {
|
| + if (m.IsCheckTaggedSigned()) {
|
| + ReplaceWithValue(node, input);
|
| + return Replace(input);
|
| + } else if (m.IsConvertTaggedHoleToUndefined()) {
|
| node->ReplaceInput(0, m.InputAt(0));
|
| return Changed(node);
|
| }
|
|
|