OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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/machine-graph-verifier.h" | 5 #include "src/compiler/machine-graph-verifier.h" |
6 | 6 |
7 #include "src/compiler/common-operator.h" | 7 #include "src/compiler/common-operator.h" |
8 #include "src/compiler/graph.h" | 8 #include "src/compiler/graph.h" |
9 #include "src/compiler/linkage.h" | 9 #include "src/compiler/linkage.h" |
10 #include "src/compiler/machine-operator.h" | 10 #include "src/compiler/machine-operator.h" |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 case IrOpcode::kFloat64LessThanOrEqual: | 201 case IrOpcode::kFloat64LessThanOrEqual: |
202 case IrOpcode::kChangeTaggedToBit: | 202 case IrOpcode::kChangeTaggedToBit: |
203 representation_vector_[node->id()] = MachineRepresentation::kBit; | 203 representation_vector_[node->id()] = MachineRepresentation::kBit; |
204 break; | 204 break; |
205 #define LABEL(opcode) case IrOpcode::k##opcode: | 205 #define LABEL(opcode) case IrOpcode::k##opcode: |
206 case IrOpcode::kTruncateInt64ToInt32: | 206 case IrOpcode::kTruncateInt64ToInt32: |
207 case IrOpcode::kTruncateFloat32ToInt32: | 207 case IrOpcode::kTruncateFloat32ToInt32: |
208 case IrOpcode::kTruncateFloat32ToUint32: | 208 case IrOpcode::kTruncateFloat32ToUint32: |
209 case IrOpcode::kBitcastFloat32ToInt32: | 209 case IrOpcode::kBitcastFloat32ToInt32: |
210 case IrOpcode::kInt32x4ExtractLane: | 210 case IrOpcode::kInt32x4ExtractLane: |
| 211 case IrOpcode::kInt16x8ExtractLane: |
| 212 case IrOpcode::kInt8x16ExtractLane: |
211 case IrOpcode::kInt32Constant: | 213 case IrOpcode::kInt32Constant: |
212 case IrOpcode::kRelocatableInt32Constant: | 214 case IrOpcode::kRelocatableInt32Constant: |
213 case IrOpcode::kTruncateFloat64ToWord32: | 215 case IrOpcode::kTruncateFloat64ToWord32: |
214 case IrOpcode::kTruncateFloat64ToUint32: | 216 case IrOpcode::kTruncateFloat64ToUint32: |
215 case IrOpcode::kChangeFloat64ToInt32: | 217 case IrOpcode::kChangeFloat64ToInt32: |
216 case IrOpcode::kChangeFloat64ToUint32: | 218 case IrOpcode::kChangeFloat64ToUint32: |
217 case IrOpcode::kRoundFloat64ToInt32: | 219 case IrOpcode::kRoundFloat64ToInt32: |
218 case IrOpcode::kFloat64ExtractLowWord32: | 220 case IrOpcode::kFloat64ExtractLowWord32: |
219 case IrOpcode::kFloat64ExtractHighWord32: | 221 case IrOpcode::kFloat64ExtractHighWord32: |
220 MACHINE_UNOP_32_LIST(LABEL) | 222 MACHINE_UNOP_32_LIST(LABEL) |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 } | 347 } |
346 break; | 348 break; |
347 case IrOpcode::kInt64LessThan: | 349 case IrOpcode::kInt64LessThan: |
348 case IrOpcode::kInt64LessThanOrEqual: | 350 case IrOpcode::kInt64LessThanOrEqual: |
349 case IrOpcode::kUint64LessThan: | 351 case IrOpcode::kUint64LessThan: |
350 case IrOpcode::kUint64LessThanOrEqual: | 352 case IrOpcode::kUint64LessThanOrEqual: |
351 CheckValueInputForInt64Op(node, 0); | 353 CheckValueInputForInt64Op(node, 0); |
352 CheckValueInputForInt64Op(node, 1); | 354 CheckValueInputForInt64Op(node, 1); |
353 break; | 355 break; |
354 case IrOpcode::kInt32x4ExtractLane: | 356 case IrOpcode::kInt32x4ExtractLane: |
| 357 case IrOpcode::kInt16x8ExtractLane: |
| 358 case IrOpcode::kInt8x16ExtractLane: |
355 CheckValueInputRepresentationIs(node, 0, | 359 CheckValueInputRepresentationIs(node, 0, |
356 MachineRepresentation::kSimd128); | 360 MachineRepresentation::kSimd128); |
357 break; | 361 break; |
358 #define LABEL(opcode) case IrOpcode::k##opcode: | 362 #define LABEL(opcode) case IrOpcode::k##opcode: |
359 case IrOpcode::kChangeInt32ToTagged: | 363 case IrOpcode::kChangeInt32ToTagged: |
360 case IrOpcode::kChangeUint32ToTagged: | 364 case IrOpcode::kChangeUint32ToTagged: |
361 case IrOpcode::kChangeInt32ToFloat64: | 365 case IrOpcode::kChangeInt32ToFloat64: |
362 case IrOpcode::kChangeUint32ToFloat64: | 366 case IrOpcode::kChangeUint32ToFloat64: |
363 case IrOpcode::kRoundInt32ToFloat32: | 367 case IrOpcode::kRoundInt32ToFloat32: |
364 case IrOpcode::kRoundUint32ToFloat32: | 368 case IrOpcode::kRoundUint32ToFloat32: |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
801 MachineRepresentationInferrer representation_inferrer(schedule, graph, | 805 MachineRepresentationInferrer representation_inferrer(schedule, graph, |
802 linkage, temp_zone); | 806 linkage, temp_zone); |
803 MachineRepresentationChecker checker(schedule, &representation_inferrer, | 807 MachineRepresentationChecker checker(schedule, &representation_inferrer, |
804 is_stub, name); | 808 is_stub, name); |
805 checker.Run(); | 809 checker.Run(); |
806 } | 810 } |
807 | 811 |
808 } // namespace compiler | 812 } // namespace compiler |
809 } // namespace internal | 813 } // namespace internal |
810 } // namespace v8 | 814 } // namespace v8 |
OLD | NEW |