Remove unmaintained CFG printing utilities.

Change-Id: I3b917a60b147725c10bce0523ced6709d018bbae
diff --git a/src/main/java/com/android/tools/r8/D8.java b/src/main/java/com/android/tools/r8/D8.java
index 55438d2..72f80ff 100644
--- a/src/main/java/com/android/tools/r8/D8.java
+++ b/src/main/java/com/android/tools/r8/D8.java
@@ -43,7 +43,6 @@
 import com.android.tools.r8.synthesis.SyntheticItems;
 import com.android.tools.r8.synthesis.SyntheticItems.GlobalSyntheticsStrategy;
 import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.ExceptionUtils;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.StringDiagnostic;
@@ -220,8 +219,6 @@
       SyntheticItems.collectSyntheticInputs(appView);
       timing.end();
 
-      final CfgPrinter printer = options.printCfg ? new CfgPrinter() : null;
-
       if (AssertionsRewriter.isEnabled(options)) {
         // Run analysis to mark all <clinit> methods having the javac generated assertion
         // enabling code.
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index fc7bb85..ff59cc1 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -653,7 +653,7 @@
             appView.protoShrinker().enumLiteProtoShrinker.verifyDeadEnumLiteMapsAreDead();
           }
 
-          IRConverter converter = new IRConverter(appView, timing, null);
+          IRConverter converter = new IRConverter(appView, timing);
 
           // If proto shrinking is enabled, we need to reprocess every dynamicMethod(). This ensures
           // that proto fields that have been removed by the second round of tree shaking are also
diff --git a/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java b/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
index a3c20e3..03a4ce6 100644
--- a/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
+++ b/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
@@ -14,7 +14,6 @@
 import com.android.tools.r8.kotlin.Kotlin;
 import com.android.tools.r8.kotlin.KotlinMetadataWriter;
 import com.android.tools.r8.synthesis.SyntheticItems.GlobalSyntheticsStrategy;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.RetracerForCodePrinting;
 import com.android.tools.r8.utils.StringUtils;
@@ -167,16 +166,15 @@
     Code code = definition.getCode();
     if (code != null) {
       if (writeIR) {
-        writeIR(method, ps);
+        writeIR(method);
       } else {
         ps.println(code.toString(definition, retracer));
       }
     }
   }
 
-  private void writeIR(ProgramMethod method, PrintStream ps) {
-    CfgPrinter printer = new CfgPrinter();
-    IRConverter converter = new IRConverter(appInfo, timing, printer);
+  private void writeIR(ProgramMethod method) {
+    IRConverter converter = new IRConverter(appInfo, timing);
     MethodProcessorEventConsumer eventConsumer = MethodProcessorEventConsumer.empty();
     OneTimeMethodProcessor methodProcessor =
         OneTimeMethodProcessor.create(
@@ -188,7 +186,6 @@
                 OptimizationFeedbackIgnore.getInstance(),
                 methodProcessor,
                 methodProcessingContext));
-    ps.println(printer);
   }
 
   private void writeAnnotations(
diff --git a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
index 2daa545..3827b37 100644
--- a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
+++ b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
@@ -22,7 +22,6 @@
 import com.android.tools.r8.ir.code.Phi.RegisterReadType;
 import com.android.tools.r8.ir.conversion.DexBuilder;
 import com.android.tools.r8.ir.conversion.IRBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.IterableUtils;
 import com.android.tools.r8.utils.ListUtils;
@@ -1398,48 +1397,6 @@
     return builder.toString();
   }
 
-  public void print(CfgPrinter printer) {
-    printer.begin("block");
-    printer.print("name \"B").append(number).append("\"\n");
-    printer.print("from_bci -1\n");
-    printer.print("to_bci -1\n");
-    printer.print("predecessors");
-    printBlockList(printer, predecessors);
-    printer.ln();
-    printer.print("successors");
-    printBlockList(printer, successors);
-    printer.ln();
-    printer.print("xhandlers\n");
-    printer.print("flags\n");
-    printer.print("first_lir_id ").print(instructions.get(0).getNumber()).ln();
-    printer.print("last_lir_id ").print(instructions.get(instructions.size() - 1).getNumber()).ln();
-    printer.begin("HIR");
-    if (phis != null) {
-      for (Phi phi : phis) {
-        phi.print(printer);
-        printer.append(" <|@\n");
-      }
-    }
-    for (Instruction instruction : instructions) {
-      instruction.print(printer);
-      printer.append(" <|@\n");
-    }
-    printer.end("HIR");
-    printer.begin("LIR");
-    for (Instruction instruction : instructions) {
-      instruction.printLIR(printer);
-      printer.append(" <|@\n");
-    }
-    printer.end("LIR");
-    printer.end("block");
-  }
-
-  private static void printBlockList(CfgPrinter printer, List<BasicBlock> blocks) {
-    for (BasicBlock block : blocks) {
-      printer.append(" \"B").append(block.number).append("\"");
-    }
-  }
-
   public void addPhiMove(Move move) {
     // TODO(ager): Consider this more, is it always the case that we should add it before the
     // exit instruction?
diff --git a/src/main/java/com/android/tools/r8/ir/code/Goto.java b/src/main/java/com/android/tools/r8/ir/code/Goto.java
index 96aeca3..41ad960 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Goto.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Goto.java
@@ -8,7 +8,6 @@
 import com.android.tools.r8.ir.conversion.CfBuilder;
 import com.android.tools.r8.ir.conversion.DexBuilder;
 import com.android.tools.r8.lightir.LirBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
 import java.util.List;
 import java.util.ListIterator;
 
@@ -80,12 +79,6 @@
   }
 
   @Override
-  public void print(CfgPrinter printer) {
-    super.print(printer);
-    printer.append(" B").append(getTarget().getNumber());
-  }
-
-  @Override
   public boolean identicalNonValueNonPositionParts(Instruction other) {
     return other.isGoto() && other.asGoto().getTarget() == getTarget();
   }
diff --git a/src/main/java/com/android/tools/r8/ir/code/IRCode.java b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
index 7ec066c..56f1150 100644
--- a/src/main/java/com/android/tools/r8/ir/code/IRCode.java
+++ b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
@@ -27,7 +27,6 @@
 import com.android.tools.r8.ir.conversion.MethodConversionOptions.MutableMethodConversionOptions;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.DequeUtils;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.IteratorUtils;
@@ -486,16 +485,6 @@
     assert noColorsInUse();
   }
 
-  private void ensureBlockNumbering() {
-    if (!numbered) {
-      numbered = true;
-      int blockNumber = 0;
-      for (BasicBlock block : topologicallySortedBlocks()) {
-        block.setNumber(blockNumber++);
-      }
-    }
-  }
-
   @Override
   public String toString() {
     StringBuilder builder = new StringBuilder();
@@ -594,13 +583,6 @@
     return reordered.build();
   }
 
-  public void print(CfgPrinter printer) {
-    ensureBlockNumbering();
-    for (BasicBlock block : blocks) {
-      block.print(printer);
-    }
-  }
-
   public boolean isConsistentSSA(AppView<?> appView) {
     isConsistentSSABeforeTypesAreCorrect(appView);
     assert verifyNoImpreciseOrBottomTypes();
diff --git a/src/main/java/com/android/tools/r8/ir/code/If.java b/src/main/java/com/android/tools/r8/ir/code/If.java
index 08fc6a3..0149b70 100644
--- a/src/main/java/com/android/tools/r8/ir/code/If.java
+++ b/src/main/java/com/android/tools/r8/ir/code/If.java
@@ -15,7 +15,6 @@
 import com.android.tools.r8.ir.conversion.DexBuilder;
 import com.android.tools.r8.lightir.LirBuilder;
 import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.InternalOutputMode;
 import java.util.List;
 
@@ -149,12 +148,6 @@
   }
 
   @Override
-  public void print(CfgPrinter printer) {
-    super.print(printer);
-    printer.append(" B").append(getTrueTarget().getNumber());
-  }
-
-  @Override
   public boolean identicalNonValueNonPositionParts(Instruction other) {
     if (!other.isIf()) {
       return false;
diff --git a/src/main/java/com/android/tools/r8/ir/code/Instruction.java b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
index 7435bc7..c33be9f 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Instruction.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
@@ -37,7 +37,6 @@
 import com.android.tools.r8.ir.regalloc.RegisterAllocator;
 import com.android.tools.r8.lightir.LirBuilder;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.StringUtils.BraceType;
@@ -372,33 +371,6 @@
     return builder.toString();
   }
 
-  public void print(CfgPrinter printer) {
-    int uses = 0;
-    String value;
-    if (outValue == null) {
-      value = printer.makeUnusedValue();
-    } else {
-      if (outValue.hasUsersInfo()) {
-        uses = outValue.uniqueUsers().size() + outValue.uniquePhiUsers().size();
-      }
-      value = "v" + outValue.getNumber();
-    }
-    printer
-        .print(0)           // bci
-        .sp().append(uses)  // use
-        .sp().append(value) // tid
-        .sp().append(getClass().getSimpleName());
-    for (Value in : inValues) {
-      printer.append(" v").append(in.getNumber());
-    }
-  }
-
-  public void printLIR(CfgPrinter printer) {
-    // TODO(ager): Improve the instruction printing. Use different name for values so that the
-    // HIR and LIR values are not confused in the c1 visualizer.
-    printer.print(number).sp().append(toString());
-  }
-
   public int getNumber() {
     return number;
   }
diff --git a/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java b/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
index 9ccd91e..15712e1 100644
--- a/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
+++ b/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
@@ -17,7 +17,6 @@
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.ir.conversion.CfBuilder;
 import com.android.tools.r8.ir.conversion.DexBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.IntObjConsumer;
 import com.android.tools.r8.utils.InternalOutputMode;
 import it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap;
@@ -280,15 +279,6 @@
   }
 
   @Override
-  public void print(CfgPrinter printer) {
-    super.print(printer);
-    for (int index : targetBlockIndices()) {
-      BasicBlock target = getBlock().getSuccessors().get(index);
-      printer.append(" B").append(target.getNumber());
-    }
-  }
-
-  @Override
   public void insertLoadAndStores(InstructionListIterator it, LoadStoreHelper helper) {
     helper.loadInValues(this, it);
   }
diff --git a/src/main/java/com/android/tools/r8/ir/code/Phi.java b/src/main/java/com/android/tools/r8/ir/code/Phi.java
index 02c2319..7a3c7be 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Phi.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Phi.java
@@ -17,7 +17,6 @@
 import com.android.tools.r8.ir.conversion.IRBuilder;
 import com.android.tools.r8.ir.conversion.TypeConstraintResolver;
 import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.DequeUtils;
 import com.android.tools.r8.utils.ListUtils;
 import com.android.tools.r8.utils.Reporter;
@@ -337,18 +336,6 @@
     return builder.toString();
   }
 
-  public void print(CfgPrinter printer) {
-    int uses = numberOfPhiUsers() + numberOfUsers();
-    printer
-        .print("0 ")                 // bci
-        .append(uses)                // use
-        .append(" v").append(number) // tid
-        .append(" Phi");
-    for (Value operand : operands) {
-      printer.append(" v").append(operand.number);
-    }
-  }
-
   public void addDefinitionsUser(Map<Integer, Value> currentDefinitions) {
     definitionUsers.add(currentDefinitions);
   }
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index e0d7bc0..c21f00e 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -74,7 +74,6 @@
 import com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis;
 import com.android.tools.r8.utils.Action;
 import com.android.tools.r8.utils.AndroidApiLevel;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.ExceptionUtils;
 import com.android.tools.r8.utils.InternalOptions;
@@ -85,10 +84,6 @@
 import com.android.tools.r8.utils.Timing;
 import com.android.tools.r8.utils.collections.ProgramMethodSet;
 import com.google.common.collect.Sets;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.List;
 import java.util.Set;
@@ -110,7 +105,6 @@
   protected final IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer;
   private final ClassInliner classInliner;
   protected final InternalOptions options;
-  protected final CfgPrinter printer;
   public final CodeRewriter codeRewriter;
   public final AssertionErrorTwoArgsConstructorRewriter assertionErrorTwoArgsConstructorRewriter;
   private final NaturalIntLoopRemover naturalIntLoopRemover = new NaturalIntLoopRemover();
@@ -153,14 +147,13 @@
    * The argument `appView` is used to determine if whole program optimizations are allowed or not
    * (i.e., whether we are running R8). See {@link AppView#enableWholeProgramOptimizations()}.
    */
-  public IRConverter(AppView<?> appView, Timing timing, CfgPrinter printer) {
+  public IRConverter(AppView<?> appView, Timing timing) {
     assert appView.options() != null;
     assert appView.options().programConsumer != null;
     assert timing != null;
     this.timing = timing;
     this.appView = appView;
     this.options = appView.options();
-    this.printer = printer;
     this.codeRewriter = new CodeRewriter(appView);
     this.assertionErrorTwoArgsConstructorRewriter =
         appView.options().desugarState.isOn()
@@ -296,13 +289,8 @@
             : null;
   }
 
-  /** Create an IR converter for processing methods with full program optimization disabled. */
-  public IRConverter(AppView<?> appView, Timing timing) {
-    this(appView, timing, null);
-  }
-
-  public IRConverter(AppInfo appInfo, Timing timing, CfgPrinter printer) {
-    this(AppView.createForD8(appInfo), timing, printer);
+  public IRConverter(AppInfo appInfo, Timing timing) {
+    this(AppView.createForD8(appInfo), timing);
   }
 
   public Inliner getInliner() {
@@ -443,20 +431,6 @@
     return options.useSmaliSyntax ? method.toSmaliString(null) : method.codeToString();
   }
 
-  void printCfg() throws IOException {
-    if (printer != null) {
-      if (options.printCfgFile == null || options.printCfgFile.isEmpty()) {
-        System.out.print(printer.toString());
-      } else {
-        try (OutputStreamWriter writer =
-            new OutputStreamWriter(
-                new FileOutputStream(options.printCfgFile), StandardCharsets.UTF_8)) {
-          writer.write(printer.toString());
-        }
-      }
-    }
-  }
-
   // TODO(b/140766440): Make this receive a list of CodeOptimizations to conduct.
   public Timing processDesugaredMethod(
       ProgramMethod method,
@@ -535,8 +509,6 @@
 
     Timing timing = Timing.create(context.toSourceString(), options);
 
-    // Compilation header if printing CFGs for this method.
-    printC1VisualizerHeader(method);
     String previous = printMethod(code, "Initial IR (SSA)", null);
 
     if (options.testing.irModifier != null) {
@@ -1161,16 +1133,6 @@
     }
   }
 
-  private void printC1VisualizerHeader(DexEncodedMethod method) {
-    if (printer != null) {
-      printer.begin("compilation");
-      printer.print("name \"").append(method.toSourceString()).append("\"").ln();
-      printer.print("method \"").append(method.toSourceString()).append("\"").ln();
-      printer.print("date 0").ln();
-      printer.end("compilation");
-    }
-  }
-
   public void printPhase(String phase) {
     if (!options.extensiveLoggingFilter.isEmpty()) {
       System.out.println("Entering phase: " + phase);
@@ -1178,13 +1140,6 @@
   }
 
   public String printMethod(IRCode code, String title, String previous) {
-    if (printer != null) {
-      printer.resetUnusedValue();
-      printer.begin("cfg");
-      printer.print("name \"").append(title).append("\"\n");
-      code.print(printer);
-      printer.end("cfg");
-    }
     if (options.extensiveLoggingFilter.size() > 0
         && options.extensiveLoggingFilter.contains(code.method().getReference().toSourceString())) {
       String current = code.toString();
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
index 7ebba1f..39fc23a 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
@@ -34,7 +34,6 @@
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedback;
 import com.android.tools.r8.position.MethodPosition;
 import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.ExceptionUtils;
 import com.android.tools.r8.utils.ListUtils;
 import com.android.tools.r8.utils.ThreadUtils;
@@ -47,7 +46,7 @@
 public class PrimaryD8L8IRConverter extends IRConverter {
 
   public PrimaryD8L8IRConverter(AppView<AppInfo> appView, Timing timing) {
-    super(appView, timing, appView.options().printCfg ? new CfgPrinter() : null);
+    super(appView, timing);
   }
 
   public void convert(AppView<AppInfo> appView, ExecutorService executorService)
@@ -102,8 +101,6 @@
             appView.appInfo().getMainDexInfo()));
 
     artProfileCollectionAdditions.commit(appView);
-
-    printCfg();
   }
 
   void convertMethods(
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
index 408f18d..1ad9a82 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
@@ -16,7 +16,6 @@
 import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed;
 import com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
-import com.android.tools.r8.utils.CfgPrinter;
 import com.android.tools.r8.utils.Timing;
 import com.android.tools.r8.utils.collections.ProgramMethodSet;
 import java.io.IOException;
@@ -28,7 +27,7 @@
 public class PrimaryR8IRConverter extends IRConverter {
 
   public PrimaryR8IRConverter(AppView<? extends AppInfoWithClassHierarchy> appView, Timing timing) {
-    super(appView, timing, appView.options().printCfg ? new CfgPrinter() : null);
+    super(appView, timing);
   }
 
   public void optimize(AppView<AppInfoWithLiveness> appView, ExecutorService executorService)
@@ -43,7 +42,6 @@
     } finally {
       timing.end();
     }
-    printCfg();
   }
 
   private DexApplication internalOptimize(
diff --git a/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java b/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
index 8b81c83..175ee30 100644
--- a/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
+++ b/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
@@ -10,7 +10,6 @@
 import com.android.tools.r8.ir.code.Phi;
 import com.android.tools.r8.ir.code.Value;
 import com.android.tools.r8.ir.code.ValueType;
-import com.android.tools.r8.utils.CfgPrinter;
 import it.unimi.dsi.fastutil.ints.IntArrayList;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -606,25 +605,6 @@
     return builder.toString();
   }
 
-  public void print(CfgPrinter printer, int number, int parentNumber) {
-    printer.append(number * 10000 + register) // range number
-        .sp().append("object") // range type
-        .sp().append(parentNumber * 10000 + getSplitParent().getRegister()) // split parent
-        .sp().append(-1); // hint
-    for (LiveRange range : getRanges()) {
-      printer.sp().append(range.toString());
-    }
-    for (LiveIntervalsUse use : getUses()) {
-      printer.sp().append(use.getPosition()).sp().append("M");
-    }
-    printer.append(" \"\"").ln();
-    int delta = 0;
-    for (LiveIntervals splitChild : splitChildren) {
-      delta += 10000;
-      splitChild.print(printer, number + delta, number);
-    }
-  }
-
   public void computeRematerializable(LinearScanRegisterAllocator allocator) {
     assert splitParent == this;
     if (value.isArgument()) {
diff --git a/src/main/java/com/android/tools/r8/utils/CfgPrinter.java b/src/main/java/com/android/tools/r8/utils/CfgPrinter.java
deleted file mode 100644
index 0c0aa66..0000000
--- a/src/main/java/com/android/tools/r8/utils/CfgPrinter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright (c) 2016, the R8 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.
-package com.android.tools.r8.utils;
-
-import java.util.Stack;
-
-/**
- * Printer abstraction for creating flow-graphs for the C1 visualizer.
- */
-public class CfgPrinter {
-
-  private final StringBuilder builder = new StringBuilder();
-  private final Stack<String> opened = new Stack<>();
-  private final int indentSpacing = 2;
-
-  public int nextUnusedValue = 0;
-
-  public String makeUnusedValue() {
-    return "_" + nextUnusedValue++;
-  }
-
-  public void resetUnusedValue() {
-    nextUnusedValue = 0;
-  }
-
-  public CfgPrinter begin(String title) {
-    print("begin_");
-    append(title).ln();
-    opened.push(title);
-    return this;
-  }
-
-  public CfgPrinter end(String title) {
-    String top = opened.pop();
-    assert title.equals(top);
-    print("end_");
-    append(title).ln();
-    return this;
-  }
-
-  public CfgPrinter print(int i) {
-    printIndent();
-    builder.append(i);
-    return this;
-  }
-
-  public CfgPrinter print(String string) {
-    printIndent();
-    builder.append(string);
-    return this;
-  }
-
-  public CfgPrinter append(int i) {
-    builder.append(i);
-    return this;
-  }
-
-  public CfgPrinter append(String string) {
-    builder.append(string);
-    return this;
-  }
-
-  public CfgPrinter sp() {
-    builder.append(" ");
-    return this;
-  }
-
-  public CfgPrinter ln() {
-    builder.append("\n");
-    return this;
-  }
-
-  private void printIndent() {
-    for (int i = 0; i < opened.size() * indentSpacing; i++) {
-      builder.append(" ");
-    }
-  }
-
-  @Override
-  public String toString() {
-    return builder.toString();
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java b/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
index 4f4e1a8..d11c68e 100644
--- a/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
+++ b/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
@@ -101,7 +101,7 @@
 
     public String run() throws IOException {
       Timing timing = Timing.empty();
-      IRConverter converter = new IRConverter(appView, timing, null);
+      IRConverter converter = new IRConverter(appView, timing);
       converter.replaceCodeForTesting(code);
       AndroidApp app = writeDex();
       return runOnArtRaw(app, DEFAULT_MAIN_CLASS_NAME).stdout;