OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
6 | 6 |
7 #include "vm/bigint_operations.h" | 7 #include "vm/bigint_operations.h" |
8 #include "vm/bit_vector.h" | 8 #include "vm/bit_vector.h" |
9 #include "vm/cpu.h" | 9 #include "vm/cpu.h" |
10 #include "vm/dart_entry.h" | 10 #include "vm/dart_entry.h" |
(...skipping 1446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1457 right(), | 1457 right(), |
1458 left()); | 1458 left()); |
1459 if (result != NULL) { | 1459 if (result != NULL) { |
1460 return result; | 1460 return result; |
1461 } | 1461 } |
1462 | 1462 |
1463 return this; | 1463 return this; |
1464 } | 1464 } |
1465 | 1465 |
1466 | 1466 |
| 1467 Definition* BinaryUint32OpInstr::Canonicalize(FlowGraph* flow_graph) { |
| 1468 Definition* result = NULL; |
| 1469 |
| 1470 result = CanonicalizeCommutativeArithmetic(op_kind(), |
| 1471 kMintCid, |
| 1472 left(), |
| 1473 right()); |
| 1474 if (result != NULL) { |
| 1475 return result; |
| 1476 } |
| 1477 |
| 1478 result = CanonicalizeCommutativeArithmetic(op_kind(), |
| 1479 kMintCid, |
| 1480 right(), |
| 1481 left()); |
| 1482 if (result != NULL) { |
| 1483 return result; |
| 1484 } |
| 1485 |
| 1486 return this; |
| 1487 } |
| 1488 |
| 1489 |
1467 // Optimizations that eliminate or simplify individual instructions. | 1490 // Optimizations that eliminate or simplify individual instructions. |
1468 Instruction* Instruction::Canonicalize(FlowGraph* flow_graph) { | 1491 Instruction* Instruction::Canonicalize(FlowGraph* flow_graph) { |
1469 return this; | 1492 return this; |
1470 } | 1493 } |
1471 | 1494 |
1472 | 1495 |
1473 Definition* Definition::Canonicalize(FlowGraph* flow_graph) { | 1496 Definition* Definition::Canonicalize(FlowGraph* flow_graph) { |
1474 return this; | 1497 return this; |
1475 } | 1498 } |
1476 | 1499 |
(...skipping 2498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3975 case Token::kTRUNCDIV: return 0; | 3998 case Token::kTRUNCDIV: return 0; |
3976 case Token::kMOD: return 1; | 3999 case Token::kMOD: return 1; |
3977 default: UNIMPLEMENTED(); return -1; | 4000 default: UNIMPLEMENTED(); return -1; |
3978 } | 4001 } |
3979 } | 4002 } |
3980 | 4003 |
3981 | 4004 |
3982 #undef __ | 4005 #undef __ |
3983 | 4006 |
3984 } // namespace dart | 4007 } // namespace dart |
OLD | NEW |