OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/compiler/simplified-lowering.h" | 5 #include "src/compiler/simplified-lowering.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1007 case IrOpcode::kFloat64RoundTruncate: | 1007 case IrOpcode::kFloat64RoundTruncate: |
1008 case IrOpcode::kFloat64RoundTiesAway: | 1008 case IrOpcode::kFloat64RoundTiesAway: |
1009 return VisitUnop(node, kMachFloat64, kMachFloat64); | 1009 return VisitUnop(node, kMachFloat64, kMachFloat64); |
1010 case IrOpcode::kFloat64Equal: | 1010 case IrOpcode::kFloat64Equal: |
1011 case IrOpcode::kFloat64LessThan: | 1011 case IrOpcode::kFloat64LessThan: |
1012 case IrOpcode::kFloat64LessThanOrEqual: | 1012 case IrOpcode::kFloat64LessThanOrEqual: |
1013 return VisitFloat64Cmp(node); | 1013 return VisitFloat64Cmp(node); |
1014 case IrOpcode::kLoadStackPointer: | 1014 case IrOpcode::kLoadStackPointer: |
1015 return VisitLeaf(node, kMachPtr); | 1015 return VisitLeaf(node, kMachPtr); |
1016 case IrOpcode::kStateValues: | 1016 case IrOpcode::kStateValues: |
| 1017 // State values declare tagged use so that we do not conflate values. |
1017 for (int i = 0; i < node->InputCount(); i++) { | 1018 for (int i = 0; i < node->InputCount(); i++) { |
1018 ProcessInput(node, i, kTypeAny); | 1019 Enqueue(node->InputAt(i), kMachAnyTagged); |
1019 } | 1020 } |
1020 SetOutput(node, kMachAnyTagged); | 1021 SetOutput(node, kMachAnyTagged); |
1021 break; | 1022 break; |
1022 default: | 1023 default: |
1023 VisitInputs(node); | 1024 VisitInputs(node); |
1024 break; | 1025 break; |
1025 } | 1026 } |
1026 } | 1027 } |
1027 | 1028 |
1028 void DeferReplacement(Node* node, Node* replacement) { | 1029 void DeferReplacement(Node* node, Node* replacement) { |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1510 | 1511 |
1511 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { | 1512 void SimplifiedLowering::DoStringLessThanOrEqual(Node* node) { |
1512 node->set_op(machine()->IntLessThanOrEqual()); | 1513 node->set_op(machine()->IntLessThanOrEqual()); |
1513 node->ReplaceInput(0, StringComparison(node, true)); | 1514 node->ReplaceInput(0, StringComparison(node, true)); |
1514 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); | 1515 node->ReplaceInput(1, jsgraph()->SmiConstant(EQUAL)); |
1515 } | 1516 } |
1516 | 1517 |
1517 } // namespace compiler | 1518 } // namespace compiler |
1518 } // namespace internal | 1519 } // namespace internal |
1519 } // namespace v8 | 1520 } // namespace v8 |
OLD | NEW |