Remove support for -overloadaggressively

Fixes: b/221174453

RELNOTES: Removed support for keep flag -overloadaggressively.
The flag remains a valid flag and will be parsed by R8. If present, R8
will silently ignore it and continue compilation as if it was not set.
Previously compiling with -overloadaggressively would result in larger
output size as more line information is needed to ensure that stacks can
be retraced correctly.

Change-Id: Idd4f5fd4afb6cca21dd2845e5d6573c197613c5c
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
index d175b29..99edc77 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfiguration.java
@@ -66,7 +66,6 @@
     private final ProguardPathFilter.Builder keepDirectories =
         ProguardPathFilter.builder().disable();
     private boolean forceProguardCompatibility = false;
-    private boolean overloadAggressively;
     private boolean configurationDebugging = false;
     private boolean dontUseMixedCaseClassnames = false;
     private boolean protoShrinking = false;
@@ -225,10 +224,6 @@
       this.packageObfuscationDictionary = packageObfuscationDictionary;
     }
 
-    boolean isOverloadAggressively() {
-      return overloadAggressively;
-    }
-
     public void setKeepParameterNames(boolean keepParameterNames, Origin optionOrigin,
         Position optionPosition) {
       assert optionOrigin != null || !keepParameterNames;
@@ -274,10 +269,6 @@
       this.forceProguardCompatibility = forceProguardCompatibility;
     }
 
-    public void setOverloadAggressively(boolean overloadAggressively) {
-      this.overloadAggressively = overloadAggressively;
-    }
-
     public void setConfigurationDebugging(boolean configurationDebugging) {
       this.configurationDebugging = configurationDebugging;
     }
@@ -341,7 +332,6 @@
               rules,
               printSeeds,
               seedFile,
-              overloadAggressively,
               DictionaryReader.readAllNames(obfuscationDictionary, reporter),
               DictionaryReader.readAllNames(classObfuscationDictionary, reporter),
               DictionaryReader.readAllNames(packageObfuscationDictionary, reporter),
@@ -401,7 +391,6 @@
   protected final ImmutableList<ProguardConfigurationRule> rules;
   private final boolean printSeeds;
   private final Path seedFile;
-  private final boolean overloadAggressively;
   private final ImmutableList<String> obfuscationDictionary;
   private final ImmutableList<String> classObfuscationDictionary;
   private final ImmutableList<String> packageObfuscationDictionary;
@@ -443,7 +432,6 @@
       Set<ProguardConfigurationRule> rules,
       boolean printSeeds,
       Path seedFile,
-      boolean overloadAggressively,
       ImmutableList<String> obfuscationDictionary,
       ImmutableList<String> classObfuscationDictionary,
       ImmutableList<String> packageObfuscationDictionary,
@@ -483,7 +471,6 @@
     this.rules = ImmutableList.copyOf(rules);
     this.printSeeds = printSeeds;
     this.seedFile = seedFile;
-    this.overloadAggressively = overloadAggressively;
     this.obfuscationDictionary = obfuscationDictionary;
     this.classObfuscationDictionary = classObfuscationDictionary;
     this.packageObfuscationDictionary = packageObfuscationDictionary;
@@ -616,7 +603,7 @@
   }
 
   public boolean isOverloadAggressively() {
-    return overloadAggressively;
+    return false;
   }
 
   public List<String> getObfuscationDictionary() {
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
index 803c78d..8f3056b 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
@@ -73,7 +73,7 @@
           "dontskipnonpubliclibraryclasses",
           "dontskipnonpubliclibraryclassmembers",
           "invokebasemethod",
-          // TODO(b/62524562): we may support this later.
+          "overloadaggressively",
           "mergeinterfacesaggressively",
           "android",
           "allowruntypeandignoreoptimizationpasses",
@@ -401,8 +401,6 @@
             }
           }
         }
-      } else if (acceptString("overloadaggressively")) {
-        configurationBuilder.setOverloadAggressively(true);
       } else if (acceptString("allowaccessmodification")) {
         configurationBuilder.setAllowAccessModification(true);
       } else if (acceptString("printconfiguration")) {
diff --git a/src/test/java/com/android/tools/r8/TestBase.java b/src/test/java/com/android/tools/r8/TestBase.java
index 93f6288..74620e9 100644
--- a/src/test/java/com/android/tools/r8/TestBase.java
+++ b/src/test/java/com/android/tools/r8/TestBase.java
@@ -1593,19 +1593,14 @@
 
   public enum MinifyMode {
     NONE,
-    JAVA,
-    AGGRESSIVE;
+    JAVA;
 
     public boolean isMinify() {
       return this != NONE;
     }
 
-    public boolean isAggressive() {
-      return this == AGGRESSIVE;
-    }
-
     public static MinifyMode[] withoutNone() {
-      return new MinifyMode[] {JAVA, AGGRESSIVE};
+      return new MinifyMode[] {JAVA};
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/naming/CovariantReturnTypeInSubInterfaceTest.java b/src/test/java/com/android/tools/r8/naming/CovariantReturnTypeInSubInterfaceTest.java
index cd8e931..c38a414 100644
--- a/src/test/java/com/android/tools/r8/naming/CovariantReturnTypeInSubInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/CovariantReturnTypeInSubInterfaceTest.java
@@ -6,7 +6,6 @@
 import static com.android.tools.r8.utils.codeinspector.Matchers.isPresentAndRenamed;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
 
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
@@ -77,23 +76,21 @@
     this.parameters = parameters;
   }
 
-  private void test(boolean overloadAggressively) throws Exception {
+  private void test() throws Exception {
     testForR8(parameters.getBackend())
         .addInnerClasses(CovariantReturnTypeInSubInterfaceTest.class)
         .setMinApi(parameters.getApiLevel())
         .addKeepMainRule(TestMain.class)
         .addKeepRules(
             "-keep,allowobfuscation class **.*$Super* { <methods>; }",
-            "-keep,allowobfuscation class **.*$Sub* { <methods>; }",
-            overloadAggressively ? "-overloadaggressively" : "# Not overload aggressively")
+            "-keep,allowobfuscation class **.*$Sub* { <methods>; }")
         .addOptionsModification(
             internalOptions -> internalOptions.inlinerOptions().enableInlining = false)
         .run(parameters.getRuntime(), TestMain.class)
-        .inspect(inspector -> inspect(inspector, overloadAggressively));
+        .inspect(inspector -> inspect(inspector));
   }
 
-  private void inspect(CodeInspector inspector, boolean overloadAggressively)
-      throws NoSuchMethodException {
+  private void inspect(CodeInspector inspector) throws NoSuchMethodException {
     ClassSubject superInterface = inspector.clazz(SuperInterface.class);
     assertThat(superInterface, isPresentAndRenamed());
     MethodSubject foo1 = superInterface.uniqueMethodWithOriginalName("foo");
@@ -102,21 +99,11 @@
     assertThat(subInterface, isPresentAndRenamed());
     MethodSubject foo2 = subInterface.method(SubInterface.class.getDeclaredMethod("foo"));
     assertThat(foo2, isPresentAndRenamed());
-    if (overloadAggressively && parameters.isDexRuntime()) {
-      assertNotEquals(foo1.getFinalName(), foo2.getFinalName());
-    } else {
-      assertEquals(foo1.getFinalName(), foo2.getFinalName());
-    }
+    assertEquals(foo1.getFinalName(), foo2.getFinalName());
   }
 
   @Test
   public void test_notAggressively() throws Exception {
-    test(false);
+    test();
   }
-
-  @Test
-  public void test_aggressively() throws Exception {
-    test(true);
-  }
-
 }
diff --git a/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java b/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java
deleted file mode 100644
index 0fc9365..0000000
--- a/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright (c) 2019, 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.naming;
-
-import static junit.framework.TestCase.assertEquals;
-
-import com.android.tools.r8.CompilationFailedException;
-import com.android.tools.r8.NeverClassInline;
-import com.android.tools.r8.NeverInline;
-import com.android.tools.r8.NoHorizontalClassMerging;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.utils.FileUtils;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.concurrent.ExecutionException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-@RunWith(Parameterized.class)
-public class FieldNamingObfuscationDictionaryTest extends TestBase {
-
-  public static class A {
-
-    public String f1;
-
-    public A(String a) {
-      this.f1 = a;
-    }
-  }
-
-  @NeverClassInline
-  public static class B extends A {
-
-    public int f0;
-    public String f2;
-
-    public B(int f0, String a, String b) {
-      super(a);
-      this.f0 = f0;
-      this.f2 = b;
-    }
-
-    @NeverInline
-    public void print() {
-      System.out.println(f0 + f1 + " " + f2);
-    }
-  }
-
-  @NeverClassInline
-  @NoHorizontalClassMerging
-  public static class C extends A {
-
-    public int f0;
-    public String f3;
-
-    public C(int f0, String a, String c) {
-      super(a);
-      this.f0 = f0;
-      this.f3 = c;
-    }
-
-    @NeverInline
-    public void print() {
-      System.out.println(f0 + f1 + " " + f3);
-    }
-  }
-
-  public static class Runner {
-
-    public static void main(String[] args) {
-      new B(args.length, args[0], args[1]).print();
-      new C(args.length, args[0], args[1]).print();
-    }
-  }
-
-  private TestParameters parameters;
-
-  @Parameterized.Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimesAndApiLevels().build();
-  }
-
-  public FieldNamingObfuscationDictionaryTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void testInheritedNamingState()
-      throws IOException, CompilationFailedException, ExecutionException {
-    Path dictionary = temp.getRoot().toPath().resolve("dictionary.txt");
-    FileUtils.writeTextFile(dictionary, "a", "b", "c");
-
-    testForR8(parameters.getBackend())
-        .addInnerClasses(FieldNamingObfuscationDictionaryTest.class)
-        .addKeepRules("-overloadaggressively", "-obfuscationdictionary " + dictionary.toString())
-        .addKeepMainRule(Runner.class)
-        .enableInliningAnnotations()
-        .enableNeverClassInliningAnnotations()
-        .enableNoHorizontalClassMergingAnnotations()
-        .setMinApi(parameters.getApiLevel())
-        .compile()
-        .run(parameters.getRuntime(), Runner.class, "HELLO", "WORLD")
-        .assertSuccessWithOutputLines("2HELLO WORLD", "2HELLO WORLD")
-        .inspect(
-            inspector -> {
-              assertEquals(
-                  "a", inspector.clazz(A.class).uniqueFieldWithOriginalName("f1").getFinalName());
-              assertEquals(
-                  "a", inspector.clazz(B.class).uniqueFieldWithOriginalName("f0").getFinalName());
-              assertEquals(
-                  "b", inspector.clazz(B.class).uniqueFieldWithOriginalName("f2").getFinalName());
-              assertEquals(
-                  "a", inspector.clazz(C.class).uniqueFieldWithOriginalName("f0").getFinalName());
-              assertEquals(
-                  "b", inspector.clazz(C.class).uniqueFieldWithOriginalName("f3").getFinalName());
-            });
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/naming/InterfaceRenamingTestRunner.java b/src/test/java/com/android/tools/r8/naming/InterfaceRenamingTestRunner.java
index 4748dad..489b670 100644
--- a/src/test/java/com/android/tools/r8/naming/InterfaceRenamingTestRunner.java
+++ b/src/test/java/com/android/tools/r8/naming/InterfaceRenamingTestRunner.java
@@ -36,11 +36,6 @@
   }
 
   @Test
-  public void testCfMinifyAggressive() throws Exception {
-    testCf(MinifyMode.AGGRESSIVE);
-  }
-
-  @Test
   public void testDexNoMinify() throws Exception {
     testDex(MinifyMode.NONE);
   }
@@ -50,11 +45,6 @@
     testDex(MinifyMode.JAVA);
   }
 
-  @Test
-  public void testDexMinifyAggressive() throws Exception {
-    testDex(MinifyMode.AGGRESSIVE);
-  }
-
   private void testCf(MinifyMode minify) throws Exception {
     ProcessResult runInput =
         ToolHelper.runJava(ToolHelper.getClassPathForTests(), CLASS.getCanonicalName());
@@ -89,7 +79,6 @@
                 R8Command.builder(),
                 pgConfig -> {
                   pgConfig.setPrintMapping(true);
-                  pgConfig.setOverloadAggressively(minify == MinifyMode.AGGRESSIVE);
                   if (!minify.isMinify()) {
                     pgConfig.disableObfuscation();
                   }
diff --git a/src/test/java/com/android/tools/r8/naming/LambdaRenamingTestRunner.java b/src/test/java/com/android/tools/r8/naming/LambdaRenamingTestRunner.java
index bdd3603..484d133 100644
--- a/src/test/java/com/android/tools/r8/naming/LambdaRenamingTestRunner.java
+++ b/src/test/java/com/android/tools/r8/naming/LambdaRenamingTestRunner.java
@@ -64,26 +64,11 @@
   @Test
   public void testProguard() throws Exception {
     assumeTrue(parameters.isCfRuntime());
-    buildAndRunProguard("pg.jar", false);
-  }
-
-  @Test
-  public void testProguardAggressive() throws Exception {
-    assumeTrue(parameters.isCfRuntime());
-    buildAndRunProguard("pg-aggressive.jar", true);
+    buildAndRunProguard("pg.jar");
   }
 
   @Test
   public void testR8() throws Exception {
-    testR8(false);
-  }
-
-  @Test
-  public void testR8Aggressive() throws Exception {
-    testR8(true);
-  }
-
-  private void testR8(boolean aggressive) throws Exception {
     testForR8(parameters.getBackend())
         .addProgramFiles(inputJar)
         .addKeepMainRule(CLASS)
@@ -94,7 +79,6 @@
             "-keep interface " + CLASS.getCanonicalName() + "$ReservedNameIntegerInterface2 {",
             "  public java.lang.Integer reservedMethod2();",
             "}")
-        .applyIf(aggressive, builder -> builder.addKeepRules("-overloadaggressively"))
         .debug()
         .setMinApi(parameters.getApiLevel())
         .compile()
@@ -107,8 +91,8 @@
                 compileResult.runDex2Oat(parameters.getRuntime()).assertNoVerificationErrors());
   }
 
-  private void buildAndRunProguard(String outName, boolean aggressive) throws Exception {
-    Path pgConfig = writeProguardRules(aggressive);
+  private void buildAndRunProguard(String outName) throws Exception {
+    Path pgConfig = writeProguardRules();
     Path outPg = temp.getRoot().toPath().resolve(outName);
     ProcessResult proguardResult =
         ToolHelper.runProguard6Raw(
@@ -125,7 +109,7 @@
     assertNotEquals(0, runPg.exitCode);
   }
 
-  private Path writeProguardRules(boolean aggressive) throws IOException {
+  private Path writeProguardRules() throws IOException {
     Path pgConfig = temp.getRoot().toPath().resolve("keep.txt");
     FileUtils.writeTextFile(
         pgConfig,
@@ -137,8 +121,7 @@
         "}",
         "-keep interface " + CLASS.getCanonicalName() + "$ReservedNameIntegerInterface2 {",
         "  public java.lang.Integer reservedMethod2();",
-        "}",
-        aggressive ? "-overloadaggressively" : "# Not overloading aggressively");
+        "}");
     return pgConfig;
   }
 }
diff --git a/src/test/java/com/android/tools/r8/naming/OverloadedReservedFieldNamingTest.java b/src/test/java/com/android/tools/r8/naming/OverloadedReservedFieldNamingTest.java
index b7176ab..ea58f20 100644
--- a/src/test/java/com/android/tools/r8/naming/OverloadedReservedFieldNamingTest.java
+++ b/src/test/java/com/android/tools/r8/naming/OverloadedReservedFieldNamingTest.java
@@ -12,13 +12,12 @@
 import com.android.tools.r8.NoFieldTypeStrengthening;
 import com.android.tools.r8.TestBase;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
 import com.android.tools.r8.references.Reference;
-import com.android.tools.r8.utils.BooleanUtils;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.android.tools.r8.utils.codeinspector.FieldSubject;
-import java.util.List;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -26,18 +25,15 @@
 @RunWith(Parameterized.class)
 public class OverloadedReservedFieldNamingTest extends TestBase {
 
-  private final boolean overloadAggressively;
+  private final boolean overloadAggressively = false;
   private final TestParameters parameters;
 
-  @Parameterized.Parameters(name = "{1}, overload aggressively: {0}")
-  public static List<Object[]> data() {
-    return buildParameters(
-        BooleanUtils.values(), getTestParameters().withAllRuntimesAndApiLevels().build());
+  @Parameterized.Parameters(name = "{0}")
+  public static TestParametersCollection data() {
+    return getTestParameters().withAllRuntimesAndApiLevels().build();
   }
 
-  public OverloadedReservedFieldNamingTest(
-      boolean overloadAggressively, TestParameters parameters) {
-    this.overloadAggressively = overloadAggressively;
+  public OverloadedReservedFieldNamingTest(TestParameters parameters) {
     this.parameters = parameters;
   }
 
diff --git a/src/test/java/com/android/tools/r8/naming/overloadaggressively/OverloadAggressivelyTest.java b/src/test/java/com/android/tools/r8/naming/overloadaggressively/OverloadAggressivelyTest.java
index c54b51b..46e691f 100644
--- a/src/test/java/com/android/tools/r8/naming/overloadaggressively/OverloadAggressivelyTest.java
+++ b/src/test/java/com/android/tools/r8/naming/overloadaggressively/OverloadAggressivelyTest.java
@@ -120,11 +120,6 @@
   }
 
   @Test
-  public void testFieldUpdater_aggressively() throws Exception {
-    fieldUpdater(true);
-  }
-
-  @Test
   public void testFieldUpdater_not_aggressively() throws Exception {
     fieldUpdater(false);
   }
@@ -166,11 +161,6 @@
   }
 
   @Test
-  public void testFieldResolution_aggressively() throws Exception {
-    fieldResolution(true);
-  }
-
-  @Test
   public void testFieldResolution_not_aggressively() throws Exception {
     fieldResolution(false);
   }
@@ -219,12 +209,6 @@
   }
 
   @Test
-  public void testMethodResolution_aggressively() throws Exception {
-    assumeTrue(parameters.isCfRuntime());
-    methodResolution(true);
-  }
-
-  @Test
   public void testMethodResolution_not_aggressively() throws Exception {
     methodResolution(false);
   }
diff --git a/src/test/java/com/android/tools/r8/naming/overloadaggressively/ValidNameConflictTest.java b/src/test/java/com/android/tools/r8/naming/overloadaggressively/ValidNameConflictTest.java
index 6c1175c..bec7505 100644
--- a/src/test/java/com/android/tools/r8/naming/overloadaggressively/ValidNameConflictTest.java
+++ b/src/test/java/com/android/tools/r8/naming/overloadaggressively/ValidNameConflictTest.java
@@ -165,34 +165,6 @@
     assertEquals(javaOutput.stdout, output.stdout);
   }
 
-  @Test
-  public void remainFieldNameConflict_overloadaggressively() throws Exception {
-    JasminBuilder builder = buildFieldNameConflictClassFile();
-    ProcessResult javaOutput = runOnJavaNoVerifyRaw(builder, CLASS_NAME);
-    assertEquals(0, javaOutput.exitCode);
-
-    List<String> pgConfigs = ImmutableList.of(
-        keepMainProguardConfiguration(CLASS_NAME),
-        "-overloadaggressively",
-        "-dontshrink");
-    AndroidApp app = compileWithR8(builder, pgConfigs, null, backend);
-
-    CodeInspector codeInspector = new CodeInspector(app);
-    ClassSubject clazz = codeInspector.clazz(CLASS_NAME);
-    assertTrue(clazz.isPresent());
-    FieldSubject f1 = clazz.field("java.lang.String", REPEATED_NAME);
-    assertTrue(f1.isPresent());
-    assertTrue(f1.isRenamed());
-    FieldSubject f2 = clazz.field("java.lang.Object", REPEATED_NAME);
-    assertTrue(f2.isPresent());
-    assertTrue(f2.isRenamed());
-    assertEquals(f1.getFinalName(), f2.getFinalName());
-
-    ProcessResult output = runRaw(app, CLASS_NAME);
-    assertEquals(0, output.exitCode);
-    assertEquals(javaOutput.stdout, output.stdout);
-  }
-
   private JasminBuilder buildMethodNameConflictClassFile() {
     JasminBuilder builder = new JasminBuilder();
     ClassBuilder classBuilder = builder.addClass(ANOTHER_CLASS);
@@ -276,37 +248,6 @@
         new HashSet<>(StringUtils.splitLines(output.stdout)));
   }
 
-  @Test
-  public void remainMethodNameConflict_overloadaggressively() throws Exception {
-    JasminBuilder builder = buildMethodNameConflictClassFile();
-    ProcessResult javaOutput = runOnJavaNoVerifyRaw(builder, CLASS_NAME);
-    assertEquals(0, javaOutput.exitCode);
-
-    List<String> pgConfigs = ImmutableList.of(
-        keepMainProguardConfiguration(CLASS_NAME),
-        "-overloadaggressively",
-        "-dontshrink");
-    AndroidApp app = compileWithR8(builder, pgConfigs, null, backend);
-
-    CodeInspector codeInspector = new CodeInspector(app);
-    ClassSubject clazz = codeInspector.clazz(ANOTHER_CLASS);
-    assertTrue(clazz.isPresent());
-    MethodSubject m1 = clazz.method("java.lang.String", REPEATED_NAME, ImmutableList.of());
-    assertTrue(m1.isPresent());
-    assertTrue(m1.isRenamed());
-    MethodSubject m2 = clazz.method("java.lang.Object", REPEATED_NAME, ImmutableList.of());
-    assertTrue(m2.isPresent());
-    assertTrue(m2.isRenamed());
-    if (backend == Backend.DEX) {
-      assertNotEquals(m1.getFinalName(), m2.getFinalName());
-    } else {
-      assertEquals(m1.getFinalName(), m2.getFinalName());
-    }
-
-    ProcessResult output = runRaw(app, CLASS_NAME);
-    assertEquals(0, output.exitCode);
-    assertEquals(javaOutput.stdout, output.stdout);
-  }
 
   private JasminBuilder buildMethodNameConflictInHierarchy() {
     JasminBuilder builder = new JasminBuilder();
@@ -437,57 +378,4 @@
         new HashSet<>(StringUtils.splitLines(javaOutput.stdout)),
         new HashSet<>(StringUtils.splitLines(output.stdout)));
   }
-
-  @Test
-  public void remainMethodNameConflictInHierarchy_overloadaggressively() throws Exception {
-    JasminBuilder builder = buildMethodNameConflictInHierarchy();
-    ProcessResult javaOutput = runOnJavaNoVerifyRaw(builder, CLASS_NAME);
-    assertEquals(0, javaOutput.exitCode);
-
-    List<String> pgConfigs =
-        ImmutableList.of(
-            keepMainProguardConfiguration(CLASS_NAME),
-            "-overloadaggressively",
-            "-dontoptimize",
-            "-dontshrink");
-    AndroidApp app = compileWithR8(builder, pgConfigs, null, backend);
-
-    CodeInspector codeInspector = new CodeInspector(app);
-
-    ClassSubject sup = codeInspector.clazz(SUPER_CLASS);
-    assertTrue(sup.isPresent());
-    MethodSubject m1 = sup.method("java.lang.String", REPEATED_NAME, ImmutableList.of());
-    assertTrue(m1.isPresent());
-    assertTrue(m1.isRenamed());
-    MethodSubject m2 = sup.method("java.lang.Object", REPEATED_NAME, ImmutableList.of());
-    assertTrue(m2.isPresent());
-    assertTrue(m2.isRenamed());
-    if (backend == Backend.DEX) {
-      assertNotEquals(m1.getFinalName(), m2.getFinalName());
-    } else {
-      assertEquals(m1.getFinalName(), m2.getFinalName());
-    }
-
-    ClassSubject sub = codeInspector.clazz(ANOTHER_CLASS);
-    assertTrue(sub.isPresent());
-    MethodSubject subM1 = sub.method("java.lang.String", REPEATED_NAME, ImmutableList.of());
-    assertTrue(subM1.isPresent());
-    assertTrue(subM1.isRenamed());
-    MethodSubject subM2 = sub.method("java.lang.Object", REPEATED_NAME, ImmutableList.of());
-    assertTrue(subM2.isPresent());
-    assertTrue(subM2.isRenamed());
-    if (backend == Backend.DEX) {
-      assertNotEquals(subM1.getFinalName(), subM2.getFinalName());
-    } else {
-      assertEquals(subM1.getFinalName(), subM2.getFinalName());
-    }
-
-    // No matter what, overloading methods should be renamed to the same name.
-    assertEquals(m1.getFinalName(), subM1.getFinalName());
-    assertEquals(m2.getFinalName(), subM2.getFinalName());
-
-    ProcessResult output = runRaw(app, CLASS_NAME);
-    assertEquals(0, output.exitCode);
-    assertEquals(javaOutput.stdout, output.stdout);
-  }
 }
diff --git a/src/test/java/com/android/tools/r8/shaking/InstantiatedLambdasTestRunner.java b/src/test/java/com/android/tools/r8/shaking/InstantiatedLambdasTestRunner.java
index 88dd300..1533aca 100644
--- a/src/test/java/com/android/tools/r8/shaking/InstantiatedLambdasTestRunner.java
+++ b/src/test/java/com/android/tools/r8/shaking/InstantiatedLambdasTestRunner.java
@@ -64,26 +64,10 @@
   }
 
   @Test
-  public void testProguardAggressive() throws Exception {
-    assumeTrue(parameters.isCfRuntime());
-    buildAndRunProguard("pg-aggressive.jar", true);
-  }
-
-  @Test
   public void testR8() throws Exception {
-    testR8(false);
-  }
-
-  @Test
-  public void testR8Aggressive() throws Exception {
-    testR8(true);
-  }
-
-  private void testR8(boolean aggressive) throws Exception {
     testForR8(parameters.getBackend())
         .addProgramFiles(inputJar)
         .addKeepMainRule(CLASS)
-        .applyIf(aggressive, builder -> builder.addKeepRules("-overloadaggressively"))
         .debug()
         .setMinApi(parameters.getApiLevel())
         .compile()
diff --git a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
index e480696..1d5d9c8 100644
--- a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
@@ -185,7 +185,6 @@
                     ToolHelper.getAppBuilder(b.getBuilder())
                         .addProgramFiles(Paths.get(programFile)))
             .enableProguardTestOptions()
-            .applyIf(minify.isAggressive(), b -> b.addKeepRules("-overloadaggressively"))
             .minification(minify.isMinify())
             .setMinApi(parameters.getApiLevel())
             .addKeepRuleFiles(ListUtils.map(keepRulesFiles, Paths::get))