OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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-scheduler.h" | 5 #include "src/compiler/instruction-scheduler.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 namespace compiler { | 9 namespace compiler { |
10 | 10 |
11 bool InstructionScheduler::SchedulerSupported() { return true; } | 11 bool InstructionScheduler::SchedulerSupported() { return true; } |
12 | 12 |
13 int InstructionScheduler::GetTargetInstructionFlags( | 13 int InstructionScheduler::GetTargetInstructionFlags( |
14 const Instruction* instr) const { | 14 const Instruction* instr) const { |
15 switch (instr->arch_opcode()) { | 15 switch (instr->arch_opcode()) { |
16 case kS390_And: | 16 case kS390_And32: |
17 case kS390_Or: | 17 case kS390_And64: |
18 case kS390_Xor: | 18 case kS390_Or32: |
| 19 case kS390_Or64: |
| 20 case kS390_Xor32: |
| 21 case kS390_Xor64: |
19 case kS390_ShiftLeft32: | 22 case kS390_ShiftLeft32: |
20 case kS390_ShiftLeft64: | 23 case kS390_ShiftLeft64: |
21 case kS390_ShiftLeftPair: | 24 case kS390_ShiftLeftPair: |
22 case kS390_ShiftRight32: | 25 case kS390_ShiftRight32: |
23 case kS390_ShiftRight64: | 26 case kS390_ShiftRight64: |
24 case kS390_ShiftRightPair: | 27 case kS390_ShiftRightPair: |
25 case kS390_ShiftRightArith32: | 28 case kS390_ShiftRightArith32: |
26 case kS390_ShiftRightArith64: | 29 case kS390_ShiftRightArith64: |
27 case kS390_ShiftRightArithPair: | 30 case kS390_ShiftRightArithPair: |
28 case kS390_RotRight32: | 31 case kS390_RotRight32: |
29 case kS390_RotRight64: | 32 case kS390_RotRight64: |
30 case kS390_Not: | 33 case kS390_Not32: |
| 34 case kS390_Not64: |
31 case kS390_RotLeftAndMask32: | 35 case kS390_RotLeftAndMask32: |
32 case kS390_RotLeftAndClear64: | 36 case kS390_RotLeftAndClear64: |
33 case kS390_RotLeftAndClearLeft64: | 37 case kS390_RotLeftAndClearLeft64: |
34 case kS390_RotLeftAndClearRight64: | 38 case kS390_RotLeftAndClearRight64: |
35 case kS390_Add: | 39 case kS390_Add: |
36 case kS390_AddWithOverflow32: | 40 case kS390_AddWithOverflow32: |
37 case kS390_AddPair: | 41 case kS390_AddPair: |
38 case kS390_AddFloat: | 42 case kS390_AddFloat: |
39 case kS390_AddDouble: | 43 case kS390_AddDouble: |
40 case kS390_Sub: | 44 case kS390_Sub: |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 } | 168 } |
165 | 169 |
166 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { | 170 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { |
167 // TODO(all): Add instruction cost modeling. | 171 // TODO(all): Add instruction cost modeling. |
168 return 1; | 172 return 1; |
169 } | 173 } |
170 | 174 |
171 } // namespace compiler | 175 } // namespace compiler |
172 } // namespace internal | 176 } // namespace internal |
173 } // namespace v8 | 177 } // namespace v8 |
OLD | NEW |