[dart2js] Clean up ssa/optimize.dart migration files.

Change-Id: I0aaf3e719ab6ab794840a6a07f58c3ee82a61e23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274322
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
This commit is contained in:
Nate Biggs 2022-12-08 18:12:27 +00:00 committed by Commit Queue
parent 25e650691f
commit 6144b6ed89
7 changed files with 22 additions and 37 deletions

View file

@ -9,7 +9,7 @@ import '../js_backend/interceptor_data.dart';
import '../js_model/js_world.dart' show JClosedWorld;
import '../universe/selector.dart' show Selector;
import 'nodes.dart';
import 'optimize_interfaces.dart' show OptimizationPhase;
import 'optimize.dart' show OptimizationPhase;
/// SsaFinalizeInterceptors makes adjustments for the interceptor calling
/// convention.

View file

@ -10,7 +10,7 @@ import '../js_backend/interceptor_data.dart';
import '../js_model/js_world.dart' show JClosedWorld;
import '../universe/selector.dart' show Selector;
import 'nodes.dart';
import 'optimize_interfaces.dart' show OptimizationPhase;
import 'optimize.dart' show OptimizationPhase;
/// This phase computes the set of classes dispatched by an interceptor, and
/// simplifies interceptors in multiple ways:

View file

@ -8,7 +8,7 @@ import '../js_model/elements.dart' show JField;
import '../js_model/js_world.dart' show JClosedWorld;
import 'logging.dart';
import 'nodes.dart';
import 'optimize_interfaces.dart' show OptimizationPhase;
import 'optimize.dart' show OptimizationPhase;
/// Optimization phase that tries to eliminate late field checks and memory
/// loads.

View file

@ -35,16 +35,19 @@ import 'late_field_optimizer.dart';
import 'logging.dart';
import 'nodes.dart';
import 'metrics.dart';
import 'optimize_interfaces.dart' as interfaces
show OptimizationPhase, SsaOptimizerTask;
import 'types.dart';
import 'types_propagation.dart';
import 'validate.dart' show NoUnusedPhiValidator;
import 'value_range_analyzer.dart';
import 'value_set.dart';
class SsaOptimizerTask extends CompilerTask
implements interfaces.SsaOptimizerTask {
abstract class OptimizationPhase {
String get name;
void visitGraph(HGraph graph);
bool validPostcondition(HGraph graph);
}
class SsaOptimizerTask extends CompilerTask {
final CompilerOptions _options;
Map<HInstruction, Range> ranges = {};
@ -64,7 +67,7 @@ class SsaOptimizerTask extends CompilerTask
GlobalTypeInferenceResults globalInferenceResults,
CodegenRegistry registry,
SsaMetrics metrics) {
void runPhase(interfaces.OptimizationPhase phase) {
void runPhase(OptimizationPhase phase) {
measureSubtask(phase.name, () => phase.visitGraph(graph));
codegen.tracer.traceGraph(phase.name, graph);
assert(graph.isValid(), 'Graph not valid after ${phase.name}');
@ -85,7 +88,7 @@ class SsaOptimizerTask extends CompilerTask
}
measure(() {
List<interfaces.OptimizationPhase> phases = [
List<OptimizationPhase> phases = [
// Run trivial instruction simplification first to optimize
// some patterns useful for type conversion.
SsaInstructionSimplifier(globalInferenceResults, _options, closedWorld,
@ -211,7 +214,7 @@ bool hasUnreachableExit(HBasicBlock block) {
/// If both inputs to known operations are available execute the operation at
/// compile-time.
class SsaInstructionSimplifier extends HBaseVisitor<HInstruction>
implements interfaces.OptimizationPhase {
implements OptimizationPhase {
// We don't produce constant-folded strings longer than this unless they have
// a single use. This protects against exponentially large constant folded
// strings.
@ -2459,8 +2462,7 @@ class SsaInstructionSimplifier extends HBaseVisitor<HInstruction>
}
}
class SsaDeadCodeEliminator extends HGraphVisitor
implements interfaces.OptimizationPhase {
class SsaDeadCodeEliminator extends HGraphVisitor implements OptimizationPhase {
@override
final String name = "SsaDeadCodeEliminator";
@ -2869,7 +2871,7 @@ class SsaLiveBlockAnalyzer extends HBaseVisitor<void> {
}
}
class SsaDeadPhiEliminator implements interfaces.OptimizationPhase {
class SsaDeadPhiEliminator implements OptimizationPhase {
@override
final String name = "SsaDeadPhiEliminator";
@ -2934,7 +2936,7 @@ class SsaDeadPhiEliminator implements interfaces.OptimizationPhase {
}
}
class SsaRedundantPhiEliminator implements interfaces.OptimizationPhase {
class SsaRedundantPhiEliminator implements OptimizationPhase {
@override
final String name = "SsaRedundantPhiEliminator";
@ -2998,7 +3000,7 @@ class GvnWorkItem {
GvnWorkItem(this.block, this.valueSet);
}
class SsaGlobalValueNumberer implements interfaces.OptimizationPhase {
class SsaGlobalValueNumberer implements OptimizationPhase {
final AbstractValueDomain _abstractValueDomain;
@override
final String name = "SsaGlobalValueNumberer";
@ -3226,8 +3228,7 @@ class SsaGlobalValueNumberer implements interfaces.OptimizationPhase {
// A basic block looks at its sucessors and finds the intersection of
// these computed ValueSet. It moves all instructions of the
// intersection into its own list of instructions.
class SsaCodeMotion extends HBaseVisitor<void>
implements interfaces.OptimizationPhase {
class SsaCodeMotion extends HBaseVisitor<void> implements OptimizationPhase {
final AbstractValueDomain _abstractValueDomain;
@override
@ -3336,7 +3337,7 @@ class SsaCodeMotion extends HBaseVisitor<void>
}
class SsaTypeConversionInserter extends HBaseVisitor<void>
implements interfaces.OptimizationPhase {
implements OptimizationPhase {
@override
final String name = "SsaTypeconversionInserter";
final JClosedWorld closedWorld;
@ -3494,7 +3495,7 @@ class SsaTypeConversionInserter extends HBaseVisitor<void>
/// [HFieldGet]), when it knows the value stored in that memory location, and
/// stores that overwrite with the same value.
class SsaLoadElimination extends HBaseVisitor<void>
implements interfaces.OptimizationPhase {
implements OptimizationPhase {
final JClosedWorld _closedWorld;
final JFieldAnalysis _fieldAnalysis;
@override

View file

@ -1,16 +0,0 @@
// Copyright (c) 2012, 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.
import 'nodes.dart';
import 'value_range_analyzer.dart';
abstract class OptimizationPhase {
String get name;
void visitGraph(HGraph graph);
bool validPostcondition(HGraph graph);
}
abstract class SsaOptimizerTask {
set ranges(Map<HInstruction, Range> value);
}

View file

@ -11,7 +11,7 @@ import '../js_model/js_world.dart' show JClosedWorld;
import '../universe/selector.dart' show Selector;
import 'logging.dart';
import 'nodes.dart';
import 'optimize_interfaces.dart' show OptimizationPhase;
import 'optimize.dart' show OptimizationPhase;
/// Type propagation and conditioning check insertion.
///

View file

@ -6,7 +6,7 @@ import '../constants/constant_system.dart' as constant_system;
import '../constants/values.dart';
import '../js_model/js_world.dart' show JClosedWorld;
import 'nodes.dart';
import 'optimize_interfaces.dart' show OptimizationPhase, SsaOptimizerTask;
import 'optimize.dart' show OptimizationPhase, SsaOptimizerTask;
class ValueRangeInfo {
late final IntValue intZero;