Remove flag to disable LIR

Bug: b/225838009
Change-Id: Ic32ed5a9651250720af47dba199180b16a8efc83
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index de7a1b5..0e163e2 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -1747,18 +1747,9 @@
         return simpleInliningInstructionLimit;
       }
       // Allow 4 instructions when using LIR regardless of backend.
-      if (options.testing.useLir) {
-        // TODO(b/288226522): We should reevaluate this for size and other inputs as it regresses
-        //  compared to DEX code with limit 5 for tivi. This is set to 5 to avoid discard errors
-        //  in chrome. Using 5 also improves size for chrome compared to a lower value.
-        return 5;
-      }
-      // Allow 3 instructions when generating to class files.
-      if (options.isGeneratingClassFiles()) {
-        return 3;
-      }
-      // Allow the size of the dex code to be up to 5 bytes.
-      assert options.isGeneratingDex();
+      // TODO(b/288226522): We should reevaluate this for size and other inputs as it regresses
+      //  compared to DEX code with limit 5 for tivi. This is set to 5 to avoid discard errors
+      //  in chrome. Using 5 also improves size for chrome compared to a lower value.
       return 5;
     }
 
@@ -2144,19 +2135,9 @@
   public static class TestingOptions {
 
     public boolean roundtripThroughLir = false;
-    private boolean useLir = System.getProperty("com.android.tools.r8.nolir") == null;
-    private boolean convertLir = System.getProperty("com.android.tools.r8.convertlir") == null;
-
-    public void enableLir() {
-      useLir = true;
-    }
-
-    public void disableLir() {
-      useLir = false;
-    }
 
     public boolean canUseLir(AppView<?> appView) {
-      return useLir && appView.enableWholeProgramOptimizations();
+      return appView.enableWholeProgramOptimizations();
     }
 
     // As part of integrating LIR the compiler is split in three phases: pre, supported, and post.
@@ -2173,7 +2154,7 @@
         throws ExecutionException {
       assert isPreLirPhase();
       currentPhase = LirPhase.SUPPORTED;
-      if (!canUseLir(appView) || !convertLir) {
+      if (!canUseLir(appView)) {
         return;
       }
       // Convert code objects to LIR.
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
index 9acb6cf..f2979f2 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesAndroidOTest.java
@@ -132,7 +132,6 @@
         .run(Paths.get(ToolHelper.THIRD_PARTY_DIR, "examplesAndroidOLegacy"));
 
     test("lambdadesugaring", "lambdadesugaring", "LambdaDesugaring")
-        .withOptionConsumer(o -> o.testing.enableLir())
         .withMinApiLevel(ToolHelper.getMinApiLevelForDexVmNoHigherThan(AndroidApiLevel.K))
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
@@ -173,7 +172,6 @@
 
     test("lambdadesugaring", "lambdadesugaring", "LambdaDesugaring")
         .withMinApiLevel(AndroidApiLevel.N)
-        .withOptionConsumer(opts -> opts.testing.enableLir())
         .withBuilderTransformation(
             b -> b.addProguardConfiguration(PROGUARD_OPTIONS, Origin.unknown()))
         .withDexCheck(inspector -> checkLambdaCount(inspector, 1, "lambdadesugaring"))
diff --git a/src/test/java/com/android/tools/r8/classmerging/vertical/ExceptionTablesTest.java b/src/test/java/com/android/tools/r8/classmerging/vertical/ExceptionTablesTest.java
index f694cd7..1ba7dcf 100644
--- a/src/test/java/com/android/tools/r8/classmerging/vertical/ExceptionTablesTest.java
+++ b/src/test/java/com/android/tools/r8/classmerging/vertical/ExceptionTablesTest.java
@@ -44,7 +44,6 @@
         .addKeepMainRule(TestClass.class)
         .addVerticallyMergedClassesInspector(this::inspectVerticallyMergedClasses)
         .setMinApi(parameters)
-        .addOptionsModification(o -> o.testing.enableLir())
         .compile()
         .inspect(this::inspect)
         .run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
index 173efa1..bffbe9d 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
@@ -77,7 +77,6 @@
         .addProgramFiles(getProgramFiles(target))
         .setMinApi(parameters)
         .addKeepMainRule(MAIN_CLASS)
-        .addOptionsModification(o -> o.testing.enableLir())
         .run(parameters.getRuntime(), MAIN_CLASS)
         .inspect(this::inspect)
         .assertSuccessWithOutputLines(EXPECTED_OUTPUT);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
index 09d3213..df487eb 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/JavaTimeTest.java
@@ -89,7 +89,6 @@
         .addOptionsModification(
             options -> {
               // The check for $default$query relies on inlining.
-              options.testing.enableLir();
               options.inlinerOptions().simpleInliningInstructionLimit = 5;
             })
         .compile()
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNull2ArgumentTest.java b/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNull2ArgumentTest.java
index 1130986..ccff4dc 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNull2ArgumentTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNull2ArgumentTest.java
@@ -31,7 +31,6 @@
         .addInnerClasses(getClass())
         .setMinApi(parameters)
         .addKeepMainRule(Main.class)
-        .addOptionsModification(options -> options.testing.disableLir())
         .run(parameters.getRuntime(), Main.class)
         .assertSuccessWithOutputLines("true", "null");
   }
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNullArgumentTest.java b/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNullArgumentTest.java
index 1f0492d..7df511e 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNullArgumentTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/EnumUnboxNullArgumentTest.java
@@ -30,7 +30,6 @@
         .addInnerClasses(getClass())
         .setMinApi(parameters)
         .addKeepMainRule(Main.class)
-        .addOptionsModification(options -> options.testing.disableLir())
         .run(parameters.getRuntime(), Main.class)
         .assertFailureWithErrorThatThrows(NullPointerException.class);
   }
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
index 00e0441..b00cc7e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/R8InliningTest.java
@@ -123,7 +123,6 @@
               o.inlinerOptions().enableInlining = inlining;
               o.inlinerOptions().enableInliningOfInvokesWithNullableReceivers = false;
               o.inlinerOptions().simpleInliningInstructionLimit = 7;
-              o.testing.enableLir();
               o.testing.horizontallyMergedClassesConsumer = this::fixInliningNullabilityClass;
               o.testing.horizontalClassMergingTarget =
                   (appView, candidates, target) -> {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInlinerTest.java b/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInlinerTest.java
index 483ed33..da23b67 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInlinerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInlinerTest.java
@@ -310,8 +310,6 @@
             .allowAccessModification()
             .enableInliningAnnotations()
             .addDontObfuscate()
-            // Using LIR changes the inlining heuristics so enable it consistently.
-            .addOptionsModification(o -> o.testing.enableLir())
             .setMinApi(parameters)
             .run(parameters.getRuntime(), main)
             .assertSuccessWithOutput(javaOutput);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
index ccd59c6..7969f45 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
@@ -38,7 +38,6 @@
         .addKeepMainRule(TestClass.class)
         .enableNeverClassInliningAnnotations()
         .setMinApi(parameters)
-        .addOptionsModification(o -> o.testing.enableLir())
         .compile()
         .inspect(this::inspect)
         .run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOptimize.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOptimize.java
index dd9edd7..55230e8 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOptimize.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOptimize.java
@@ -30,7 +30,6 @@
         .addKeepRules("-keep,allowoptimization class ** {\n" + "*;\n" + "}")
         .addOptionsModification(
             options -> {
-              options.testing.enableLir();
               options.inlinerOptions().simpleInliningInstructionLimit = 5;
             })
         .compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FieldReadForWriteTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FieldReadForWriteTest.java
index 37e6c57..8de4937 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FieldReadForWriteTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FieldReadForWriteTest.java
@@ -39,7 +39,6 @@
             HorizontallyMergedClassesInspector::assertNoClassesMerged)
         .enableNoHorizontalClassMergingAnnotations()
         .setMinApi(parameters)
-        .addOptionsModification(o -> o.testing.enableLir())
         .run(parameters.getRuntime(), Main.class)
         .assertSuccessWithOutputLines("42")
         .inspect(inspector -> assertThat(inspector.clazz(anim.class), isAbsent()));
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
index 5c3fe96..e3e4fa2 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
@@ -298,7 +298,6 @@
             .allowAccessModification()
             .addDontObfuscate()
             .addOptionsModification(this::configure)
-            .addOptionsModification(o -> o.testing.enableLir())
             .setMinApi(parameters)
             .run(parameters.getRuntime(), main)
             .assertSuccessWithOutput(javaOutput);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/NestedInterfaceMethodTest.java b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/NestedInterfaceMethodTest.java
index 9626829..83c7f4f 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/NestedInterfaceMethodTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/NestedInterfaceMethodTest.java
@@ -60,7 +60,6 @@
             .enableNoVerticalClassMergingAnnotations()
             .addOptionsModification(
                 options -> {
-                  options.testing.enableLir();
                   options.enableDevirtualization = false;
                   options.inlinerOptions().enableInliningOfInvokesWithNullableReceivers = false;
                   // The checks for I being present rely on not simple inlining.
diff --git a/src/test/java/com/android/tools/r8/kotlin/R8KotlinDataClassTest.java b/src/test/java/com/android/tools/r8/kotlin/R8KotlinDataClassTest.java
index e74dd87..aad5246 100644
--- a/src/test/java/com/android/tools/r8/kotlin/R8KotlinDataClassTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/R8KotlinDataClassTest.java
@@ -129,7 +129,6 @@
             testBuilder ->
                 testBuilder
                     .addKeepRules(keepClassMethod(mainClassName, testMethodSignature))
-                    .addOptionsModification(o -> o.testing.enableLir())
                     .addOptionsModification(disableClassInliner))
         .inspect(
             inspector -> {
diff --git a/src/test/java/com/android/tools/r8/regress/Regress160394262Test.java b/src/test/java/com/android/tools/r8/regress/Regress160394262Test.java
index a39c770..e21af03 100644
--- a/src/test/java/com/android/tools/r8/regress/Regress160394262Test.java
+++ b/src/test/java/com/android/tools/r8/regress/Regress160394262Test.java
@@ -50,7 +50,6 @@
         .addKeepMainRule(TestClass.class)
         .addInnerClasses(Regress160394262Test.class)
         .setMinApi(parameters)
-        .addOptionsModification(o -> o.testing.enableLir())
         .run(parameters.getRuntime(), TestClass.class)
         .assertSuccessWithOutput(EXPECTED)
         .inspect(this::checkJoinerIsClassInlined);
diff --git a/src/test/java/com/android/tools/r8/rewrite/enums/EnumOptimizationTest.java b/src/test/java/com/android/tools/r8/rewrite/enums/EnumOptimizationTest.java
index 97045ca..7b1c258 100644
--- a/src/test/java/com/android/tools/r8/rewrite/enums/EnumOptimizationTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/enums/EnumOptimizationTest.java
@@ -161,7 +161,6 @@
         .addOptionsModification(this::configure)
         .addOptionsModification(
             o -> {
-              o.testing.enableLir();
               // Not inlining toString depends on simple inlining limit.
               o.inlinerOptions().simpleInliningInstructionLimit = 3;
             })
diff --git a/src/test/java/com/android/tools/r8/shaking/annotations/b137392797/B137392797.java b/src/test/java/com/android/tools/r8/shaking/annotations/b137392797/B137392797.java
index df9580c..c084e8a 100644
--- a/src/test/java/com/android/tools/r8/shaking/annotations/b137392797/B137392797.java
+++ b/src/test/java/com/android/tools/r8/shaking/annotations/b137392797/B137392797.java
@@ -88,7 +88,6 @@
             options -> {
               // The default limit for LIR is 2 at time of writing.
               // The constructor inlining check needs a limit of 4 to trigger.
-              options.testing.enableLir();
               options.inlinerOptions().simpleInliningInstructionLimit = 4;
             })
         .compile()