| 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/instruction-selector.h" | 5 #include "src/compiler/instruction-selector.h" |
| 6 | 6 |
| 7 #include "src/compiler/instruction-selector-impl.h" | 7 #include "src/compiler/instruction-selector-impl.h" |
| 8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
| 9 #include "src/compiler/node-properties-inl.h" | 9 #include "src/compiler/node-properties-inl.h" |
| 10 #include "src/compiler/pipeline.h" | 10 #include "src/compiler/pipeline.h" |
| (...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 568 case IrOpcode::kInt64UDiv: | 568 case IrOpcode::kInt64UDiv: |
| 569 return VisitInt64UDiv(node); | 569 return VisitInt64UDiv(node); |
| 570 case IrOpcode::kInt64Mod: | 570 case IrOpcode::kInt64Mod: |
| 571 return VisitInt64Mod(node); | 571 return VisitInt64Mod(node); |
| 572 case IrOpcode::kInt64UMod: | 572 case IrOpcode::kInt64UMod: |
| 573 return VisitInt64UMod(node); | 573 return VisitInt64UMod(node); |
| 574 case IrOpcode::kInt64LessThan: | 574 case IrOpcode::kInt64LessThan: |
| 575 return VisitInt64LessThan(node); | 575 return VisitInt64LessThan(node); |
| 576 case IrOpcode::kInt64LessThanOrEqual: | 576 case IrOpcode::kInt64LessThanOrEqual: |
| 577 return VisitInt64LessThanOrEqual(node); | 577 return VisitInt64LessThanOrEqual(node); |
| 578 case IrOpcode::kConvertInt32ToInt64: | |
| 579 return VisitConvertInt32ToInt64(node); | |
| 580 case IrOpcode::kConvertInt64ToInt32: | |
| 581 return VisitConvertInt64ToInt32(node); | |
| 582 case IrOpcode::kChangeInt32ToFloat64: | 578 case IrOpcode::kChangeInt32ToFloat64: |
| 583 return MarkAsDouble(node), VisitChangeInt32ToFloat64(node); | 579 return MarkAsDouble(node), VisitChangeInt32ToFloat64(node); |
| 584 case IrOpcode::kChangeUint32ToFloat64: | 580 case IrOpcode::kChangeUint32ToFloat64: |
| 585 return MarkAsDouble(node), VisitChangeUint32ToFloat64(node); | 581 return MarkAsDouble(node), VisitChangeUint32ToFloat64(node); |
| 586 case IrOpcode::kChangeFloat64ToInt32: | 582 case IrOpcode::kChangeFloat64ToInt32: |
| 587 return VisitChangeFloat64ToInt32(node); | 583 return VisitChangeFloat64ToInt32(node); |
| 588 case IrOpcode::kChangeFloat64ToUint32: | 584 case IrOpcode::kChangeFloat64ToUint32: |
| 589 return VisitChangeFloat64ToUint32(node); | 585 return VisitChangeFloat64ToUint32(node); |
| 586 case IrOpcode::kChangeInt32ToInt64: |
| 587 return VisitChangeInt32ToInt64(node); |
| 588 case IrOpcode::kChangeUint32ToUint64: |
| 589 return VisitChangeUint32ToUint64(node); |
| 590 case IrOpcode::kTruncateInt64ToInt32: |
| 591 return VisitTruncateInt64ToInt32(node); |
| 590 case IrOpcode::kFloat64Add: | 592 case IrOpcode::kFloat64Add: |
| 591 return MarkAsDouble(node), VisitFloat64Add(node); | 593 return MarkAsDouble(node), VisitFloat64Add(node); |
| 592 case IrOpcode::kFloat64Sub: | 594 case IrOpcode::kFloat64Sub: |
| 593 return MarkAsDouble(node), VisitFloat64Sub(node); | 595 return MarkAsDouble(node), VisitFloat64Sub(node); |
| 594 case IrOpcode::kFloat64Mul: | 596 case IrOpcode::kFloat64Mul: |
| 595 return MarkAsDouble(node), VisitFloat64Mul(node); | 597 return MarkAsDouble(node), VisitFloat64Mul(node); |
| 596 case IrOpcode::kFloat64Div: | 598 case IrOpcode::kFloat64Div: |
| 597 return MarkAsDouble(node), VisitFloat64Div(node); | 599 return MarkAsDouble(node), VisitFloat64Div(node); |
| 598 case IrOpcode::kFloat64Mod: | 600 case IrOpcode::kFloat64Mod: |
| 599 return MarkAsDouble(node), VisitFloat64Mod(node); | 601 return MarkAsDouble(node), VisitFloat64Mod(node); |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 745 | 747 |
| 746 void InstructionSelector::VisitInt64UDiv(Node* node) { UNIMPLEMENTED(); } | 748 void InstructionSelector::VisitInt64UDiv(Node* node) { UNIMPLEMENTED(); } |
| 747 | 749 |
| 748 | 750 |
| 749 void InstructionSelector::VisitInt64Mod(Node* node) { UNIMPLEMENTED(); } | 751 void InstructionSelector::VisitInt64Mod(Node* node) { UNIMPLEMENTED(); } |
| 750 | 752 |
| 751 | 753 |
| 752 void InstructionSelector::VisitInt64UMod(Node* node) { UNIMPLEMENTED(); } | 754 void InstructionSelector::VisitInt64UMod(Node* node) { UNIMPLEMENTED(); } |
| 753 | 755 |
| 754 | 756 |
| 755 void InstructionSelector::VisitConvertInt64ToInt32(Node* node) { | 757 void InstructionSelector::VisitChangeInt32ToInt64(Node* node) { |
| 756 UNIMPLEMENTED(); | 758 UNIMPLEMENTED(); |
| 757 } | 759 } |
| 758 | 760 |
| 759 | 761 |
| 760 void InstructionSelector::VisitConvertInt32ToInt64(Node* node) { | 762 void InstructionSelector::VisitChangeUint32ToUint64(Node* node) { |
| 761 UNIMPLEMENTED(); | 763 UNIMPLEMENTED(); |
| 762 } | 764 } |
| 763 | 765 |
| 766 |
| 767 void InstructionSelector::VisitTruncateInt64ToInt32(Node* node) { |
| 768 UNIMPLEMENTED(); |
| 769 } |
| 770 |
| 764 #endif // V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND | 771 #endif // V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND |
| 765 | 772 |
| 766 | 773 |
| 767 // 32-bit targets and unsupported architectures need dummy implementations of | 774 // 32-bit targets and unsupported architectures need dummy implementations of |
| 768 // selected 64-bit ops. | 775 // selected 64-bit ops. |
| 769 #if V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_BACKEND | 776 #if V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_BACKEND |
| 770 | 777 |
| 771 void InstructionSelector::VisitWord64Test(Node* node, FlagsContinuation* cont) { | 778 void InstructionSelector::VisitWord64Test(Node* node, FlagsContinuation* cont) { |
| 772 UNIMPLEMENTED(); | 779 UNIMPLEMENTED(); |
| 773 } | 780 } |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1051 | 1058 |
| 1052 | 1059 |
| 1053 void InstructionSelector::VisitCall(Node* call, BasicBlock* continuation, | 1060 void InstructionSelector::VisitCall(Node* call, BasicBlock* continuation, |
| 1054 BasicBlock* deoptimization) {} | 1061 BasicBlock* deoptimization) {} |
| 1055 | 1062 |
| 1056 #endif // !V8_TURBOFAN_BACKEND | 1063 #endif // !V8_TURBOFAN_BACKEND |
| 1057 | 1064 |
| 1058 } // namespace compiler | 1065 } // namespace compiler |
| 1059 } // namespace internal | 1066 } // namespace internal |
| 1060 } // namespace v8 | 1067 } // namespace v8 |
| OLD | NEW |