Revert "Add tests for improving the precision of instance member value propagation"

This reverts commit ddcd7c0e9b466410a5e55468241bbafc539b7def.

Reason for revert: The new test is failing, reverting this to make it easier for us to go green (since we already have other failures)

Change-Id: If266967429bf4d698279e6f23833876664fc5adf
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FinalFieldWithDefaultValueAssignmentPropagationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FinalFieldWithDefaultValueAssignmentPropagationTest.java
deleted file mode 100644
index 0f714ef..0000000
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/FinalFieldWithDefaultValueAssignmentPropagationTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright (c) 2020, 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.ir.optimize.membervaluepropagation;
-
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertFalse;
-
-import com.android.tools.r8.NeverInline;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.utils.codeinspector.ClassSubject;
-import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import com.android.tools.r8.utils.codeinspector.InstructionSubject;
-import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class FinalFieldWithDefaultValueAssignmentPropagationTest extends TestBase {
-
-  private final TestParameters parameters;
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimesAndApiLevels().build();
-  }
-
-  public FinalFieldWithDefaultValueAssignmentPropagationTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void test() throws Exception {
-    testForR8(parameters.getBackend())
-        .addInnerClasses(FinalFieldWithDefaultValueAssignmentPropagationTest.class)
-        .addKeepMainRule(TestClass.class)
-        .enableInliningAnnotations()
-        .setMinApi(parameters.getApiLevel())
-        .compile()
-        .inspect(this::inspect)
-        .run(parameters.getRuntime(), TestClass.class)
-        .assertSuccessWithOutputLines("false");
-  }
-
-  private void inspect(CodeInspector inspector) {
-    ClassSubject testClassSubject = inspector.clazz(TestClass.class);
-    assertThat(testClassSubject, isPresent());
-    // TODO(b/147799637): Should be absent.
-    assertThat(testClassSubject.uniqueMethodWithName("dead"), isPresent());
-
-    ClassSubject configClassSubject = inspector.clazz(Config.class);
-    assertThat(configClassSubject, isPresent());
-
-    MethodSubject configConstructorSubject = configClassSubject.init();
-    assertThat(configConstructorSubject, isPresent());
-    // TODO(b/147799637): Should be true.
-    assertFalse(
-        configConstructorSubject.streamInstructions().noneMatch(InstructionSubject::isInstancePut));
-  }
-
-  static class TestClass {
-
-    public static void main(String[] args) {
-      if (new Config().alwaysFalse) {
-        dead();
-      }
-    }
-
-    @NeverInline
-    static void dead() {
-      System.out.println("Dead!");
-    }
-  }
-
-  static class Config {
-
-    final boolean alwaysFalse;
-
-    Config() {
-      // An instruction that causes alwaysFalse to be read.
-      System.out.println(this);
-      // Since alwaysFalse is final we can remove the assignment, even if the receiver escapes.
-      alwaysFalse = false;
-    }
-
-    @Override
-    public String toString() {
-      return Boolean.toString(alwaysFalse);
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithDefaultValueAssignmentPropagationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithDefaultValueAssignmentPropagationTest.java
deleted file mode 100644
index 9d56af9..0000000
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithDefaultValueAssignmentPropagationTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2020, 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.ir.optimize.membervaluepropagation;
-
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertFalse;
-
-import com.android.tools.r8.NeverClassInline;
-import com.android.tools.r8.NeverInline;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.utils.codeinspector.ClassSubject;
-import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import com.android.tools.r8.utils.codeinspector.InstructionSubject;
-import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class NonFinalFieldWithDefaultValueAssignmentPropagationTest extends TestBase {
-
-  private final TestParameters parameters;
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimesAndApiLevels().build();
-  }
-
-  public NonFinalFieldWithDefaultValueAssignmentPropagationTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void test() throws Exception {
-    testForR8(parameters.getBackend())
-        .addInnerClasses(NonFinalFieldWithDefaultValueAssignmentPropagationTest.class)
-        .addKeepMainRule(TestClass.class)
-        .enableNeverClassInliningAnnotations()
-        .enableInliningAnnotations()
-        .setMinApi(parameters.getApiLevel())
-        .compile()
-        .inspect(this::inspect)
-        .run(parameters.getRuntime(), TestClass.class)
-        .assertSuccessWithOutputLines("false");
-  }
-
-  private void inspect(CodeInspector inspector) {
-    ClassSubject testClassSubject = inspector.clazz(TestClass.class);
-    assertThat(testClassSubject, isPresent());
-    // TODO(b/147799637): Should be absent.
-    assertThat(testClassSubject.uniqueMethodWithName("dead"), isPresent());
-
-    ClassSubject configClassSubject = inspector.clazz(Config.class);
-    assertThat(configClassSubject, isPresent());
-
-    MethodSubject configConstructorSubject = configClassSubject.init();
-    assertThat(configConstructorSubject, isPresent());
-    // TODO(b/147799637): Should be true.
-    assertFalse(
-        configConstructorSubject.streamInstructions().noneMatch(InstructionSubject::isInstancePut));
-  }
-
-  static class TestClass {
-
-    public static void main(String[] args) {
-      if (new Config().alwaysFalse) {
-        dead();
-      }
-    }
-
-    @NeverInline
-    static void dead() {
-      System.out.println("Dead!");
-    }
-  }
-
-  @NeverClassInline
-  static class Config {
-
-    boolean alwaysFalse;
-
-    Config() {
-      // An instruction that cannot read alwaysFalse, because the receiver has not escaped
-      // (except into Object.<init>()).
-      System.out.println("Hello world!");
-      // Since the receiver has not escaped, we can remove the assignment.
-      alwaysFalse = false;
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithNonDefaultValueAssignmentPropagationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithNonDefaultValueAssignmentPropagationTest.java
deleted file mode 100644
index 0ca6995..0000000
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NonFinalFieldWithNonDefaultValueAssignmentPropagationTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2020, 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.ir.optimize.membervaluepropagation;
-
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertFalse;
-
-import com.android.tools.r8.NeverClassInline;
-import com.android.tools.r8.NeverInline;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.utils.codeinspector.ClassSubject;
-import com.android.tools.r8.utils.codeinspector.CodeInspector;
-import com.android.tools.r8.utils.codeinspector.InstructionSubject;
-import com.android.tools.r8.utils.codeinspector.MethodSubject;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class NonFinalFieldWithNonDefaultValueAssignmentPropagationTest extends TestBase {
-
-  private final TestParameters parameters;
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimesAndApiLevels().build();
-  }
-
-  public NonFinalFieldWithNonDefaultValueAssignmentPropagationTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void test() throws Exception {
-    testForR8(parameters.getBackend())
-        .addInnerClasses(NonFinalFieldWithNonDefaultValueAssignmentPropagationTest.class)
-        .addKeepMainRule(TestClass.class)
-        .enableNeverClassInliningAnnotations()
-        .enableInliningAnnotations()
-        .setMinApi(parameters.getApiLevel())
-        .compile()
-        .inspect(this::inspect)
-        .run(parameters.getRuntime(), TestClass.class)
-        .assertSuccessWithOutputLines("true");
-  }
-
-  private void inspect(CodeInspector inspector) {
-    ClassSubject testClassSubject = inspector.clazz(TestClass.class);
-    assertThat(testClassSubject, isPresent());
-    // TODO(b/147799637): Should be absent.
-    assertThat(testClassSubject.uniqueMethodWithName("dead"), isPresent());
-
-    ClassSubject configClassSubject = inspector.clazz(Config.class);
-    assertThat(configClassSubject, isPresent());
-
-    MethodSubject configConstructorSubject = configClassSubject.init();
-    assertThat(configConstructorSubject, isPresent());
-    // TODO(b/147799637): Should be true.
-    assertFalse(
-        configConstructorSubject.streamInstructions().noneMatch(InstructionSubject::isInstancePut));
-  }
-
-  static class TestClass {
-
-    public static void main(String[] args) {
-      if (!new Config().alwaysTrue) {
-        dead();
-      }
-    }
-
-    @NeverInline
-    static void dead() {
-      System.out.println("Dead!");
-    }
-  }
-
-  @NeverClassInline
-  static class Config {
-
-    boolean alwaysTrue;
-
-    Config() {
-      // An instruction that cannot read alwaysTrue, because the receiver has not escaped
-      // (except into Object.<init>()).
-      System.out.println("Hello world!");
-      // Since the receiver has not escaped, we are guaranteed that all reads will evaluate to true.
-      alwaysTrue = true;
-    }
-  }
-}