| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library tree_ir.optimization.logical_rewriter; | 5 library tree_ir.optimization.logical_rewriter; |
| 6 | 6 |
| 7 import '../tree_ir_nodes.dart'; | 7 import '../tree_ir_nodes.dart'; |
| 8 import 'optimization.dart' show Pass; | 8 import 'optimization.dart' show Pass; |
| 9 import '../../constants/values.dart' as values; | 9 import '../../constants/values.dart' as values; |
| 10 | 10 |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 BuiltinOperator negateBuiltin(BuiltinOperator operator) { | 369 BuiltinOperator negateBuiltin(BuiltinOperator operator) { |
| 370 switch (operator) { | 370 switch (operator) { |
| 371 case BuiltinOperator.StrictEq: return BuiltinOperator.StrictNeq; | 371 case BuiltinOperator.StrictEq: return BuiltinOperator.StrictNeq; |
| 372 case BuiltinOperator.StrictNeq: return BuiltinOperator.StrictEq; | 372 case BuiltinOperator.StrictNeq: return BuiltinOperator.StrictEq; |
| 373 case BuiltinOperator.LooseEq: return BuiltinOperator.LooseNeq; | 373 case BuiltinOperator.LooseEq: return BuiltinOperator.LooseNeq; |
| 374 case BuiltinOperator.LooseNeq: return BuiltinOperator.LooseEq; | 374 case BuiltinOperator.LooseNeq: return BuiltinOperator.LooseEq; |
| 375 case BuiltinOperator.IsNumber: return BuiltinOperator.IsNotNumber; | 375 case BuiltinOperator.IsNumber: return BuiltinOperator.IsNotNumber; |
| 376 case BuiltinOperator.IsNotNumber: return BuiltinOperator.IsNumber; | 376 case BuiltinOperator.IsNotNumber: return BuiltinOperator.IsNumber; |
| 377 case BuiltinOperator.IsInteger: return BuiltinOperator.IsNotInteger; | 377 case BuiltinOperator.IsInteger: return BuiltinOperator.IsNotInteger; |
| 378 case BuiltinOperator.IsNotInteger: return BuiltinOperator.IsInteger; | 378 case BuiltinOperator.IsNotInteger: return BuiltinOperator.IsInteger; |
| 379 case BuiltinOperator.IsUnsigned32BitInteger: |
| 380 return BuiltinOperator.IsNotUnsigned32BitInteger; |
| 381 case BuiltinOperator.IsNotUnsigned32BitInteger: |
| 382 return BuiltinOperator.IsUnsigned32BitInteger; |
| 379 | 383 |
| 380 // Because of NaN, these do not have a negated form. | 384 // Because of NaN, these do not have a negated form. |
| 381 case BuiltinOperator.NumLt: | 385 case BuiltinOperator.NumLt: |
| 382 case BuiltinOperator.NumLe: | 386 case BuiltinOperator.NumLe: |
| 383 case BuiltinOperator.NumGt: | 387 case BuiltinOperator.NumGt: |
| 384 case BuiltinOperator.NumGe: | 388 case BuiltinOperator.NumGe: |
| 385 return null; | 389 return null; |
| 386 | 390 |
| 387 default: | 391 default: |
| 388 return null; | 392 return null; |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 } else if (e1 is Assign) { | 556 } else if (e1 is Assign) { |
| 553 return e2 is VariableUse && e1.variable == e2.variable; | 557 return e2 is VariableUse && e1.variable == e2.variable; |
| 554 } | 558 } |
| 555 return false; | 559 return false; |
| 556 } | 560 } |
| 557 | 561 |
| 558 void destroyVariableUse(VariableUse node) { | 562 void destroyVariableUse(VariableUse node) { |
| 559 --node.variable.readCount; | 563 --node.variable.readCount; |
| 560 } | 564 } |
| 561 } | 565 } |
| OLD | NEW |