| Index: pkg/compiler/lib/src/cps_ir/optimizers.dart
|
| diff --git a/pkg/compiler/lib/src/cps_ir/optimizers.dart b/pkg/compiler/lib/src/cps_ir/optimizers.dart
|
| deleted file mode 100644
|
| index 3e22e10d9f093a853c6f1b726205ff462d1c830e..0000000000000000000000000000000000000000
|
| --- a/pkg/compiler/lib/src/cps_ir/optimizers.dart
|
| +++ /dev/null
|
| @@ -1,68 +0,0 @@
|
| -// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -library dart2js.cps_ir.optimizers;
|
| -
|
| -import '../common/names.dart';
|
| -import '../constants/values.dart';
|
| -import '../universe/selector.dart';
|
| -import 'cps_ir_nodes.dart';
|
| -
|
| -export 'backward_null_check_remover.dart' show BackwardNullCheckRemover;
|
| -export 'bounds_checker.dart' show BoundsChecker;
|
| -export 'eagerly_load_statics.dart' show EagerlyLoadStatics;
|
| -export 'gvn.dart' show GVN;
|
| -export 'inline.dart' show Inliner;
|
| -export 'insert_refinements.dart' show InsertRefinements;
|
| -export 'loop_invariant_branch.dart' show LoopInvariantBranchMotion;
|
| -export 'mutable_ssa.dart' show MutableVariableEliminator;
|
| -export 'optimize_interceptors.dart' show OptimizeInterceptors;
|
| -export 'parent_visitor.dart' show ParentVisitor;
|
| -export 'path_based_optimizer.dart' show PathBasedOptimizer;
|
| -export 'redundant_join.dart' show RedundantJoinEliminator;
|
| -export 'redundant_phi.dart' show RedundantPhiEliminator;
|
| -export 'redundant_refinement.dart' show RedundantRefinementEliminator;
|
| -export 'scalar_replacement.dart' show ScalarReplacer;
|
| -export 'shrinking_reductions.dart' show ShrinkingReducer;
|
| -export 'type_propagation.dart' show TypePropagator;
|
| -export 'update_refinements.dart' show UpdateRefinements;
|
| -export 'use_field_initializers.dart' show UseFieldInitializers;
|
| -
|
| -/// An optimization pass over the CPS IR.
|
| -abstract class Pass {
|
| - /// Applies optimizations to root, rewriting it in the process.
|
| - void rewrite(FunctionDefinition root);
|
| -
|
| - String get passName;
|
| -}
|
| -
|
| -// Shared code between optimizations
|
| -
|
| -/// Returns true if [value] is false, null, 0, -0, NaN, or the empty string.
|
| -bool isFalsyConstant(ConstantValue value) {
|
| - return value.isFalse ||
|
| - value.isNull ||
|
| - value.isZero ||
|
| - value.isMinusZero ||
|
| - value.isNaN ||
|
| - value is StringConstantValue && value.primitiveValue.isEmpty;
|
| -}
|
| -
|
| -/// Returns true if [value] satisfies a branching condition with the
|
| -/// given strictness.
|
| -///
|
| -/// For non-strict, this is the opposite of [isFalsyConstant].
|
| -bool isTruthyConstant(ConstantValue value, {bool strict: false}) {
|
| - return strict ? value.isTrue : !isFalsyConstant(value);
|
| -}
|
| -
|
| -/// Selectors that do not throw when invoked on the null value.
|
| -final List<Selector> selectorsOnNull = <Selector>[
|
| - Selectors.equals,
|
| - Selectors.hashCode_,
|
| - Selectors.runtimeType_,
|
| - Selectors.toString_,
|
| - Selectors.toStringGetter,
|
| - Selectors.noSuchMethodGetter
|
| -];
|
|
|