Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: pkg/compiler/lib/src/tree_ir/optimization/logical_rewriter.dart

Issue 1699033003: dart2js cps: Combine integer type check with bounds check. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rebase Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/codegen.dart ('k') | tests/compiler/dart2js/cps_ir/expected/optimize_indexers.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698