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 |