Revert "Insert position for outline caller if none is present"
This reverts commit 681ff4cc955e6c700ad5ece5f84ee32935181397.
Reason for revert: broken bots
Change-Id: I164596b5bb0999addda2062f84b53fcf98bc031b
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/outliner/OutlinerImpl.java b/src/main/java/com/android/tools/r8/ir/optimize/outliner/OutlinerImpl.java
index 6285527..55bef08 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/outliner/OutlinerImpl.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/outliner/OutlinerImpl.java
@@ -1295,7 +1295,7 @@
outlineInvoke.setPosition(
positionBuilder.hasOutlinePositions()
? positionBuilder.build()
- : positionBuilder.setLine(1).build());
+ : Position.syntheticNone());
InstructionListIterator endIterator =
lastInstruction.getBlock().listIterator(code, lastInstruction);
Instruction instructionBeforeEnd = endIterator.previous();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlineWithoutThrowingInstructionTest.java b/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlineWithoutThrowingInstructionTest.java
index 7453fe1..598bf16 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlineWithoutThrowingInstructionTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlineWithoutThrowingInstructionTest.java
@@ -3,8 +3,10 @@
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.ir.optimize.outliner;
-import static org.junit.Assert.assertEquals;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThrows;
+import com.android.tools.r8.CompilationFailedException;
import com.android.tools.r8.NeverInline;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
@@ -28,25 +30,26 @@
@Test
public void testR8() throws Exception {
- testForR8(parameters.getBackend())
- .addInnerClasses(getClass())
- .setMinApi(parameters)
- .addKeepMainRule(Main.class)
- .enableInliningAnnotations()
- .addOptionsModification(
- options -> {
- options.outline.threshold = 2;
- options.outline.minSize = 2;
- })
- .addKeepAttributeLineNumberTable()
- .addKeepAttributeSourceFile()
- .compile()
- .inspect(
- inspector -> {
- assertEquals(2, inspector.allClasses().size());
- })
- .run(parameters.getRuntime(), Main.class)
- .assertSuccessWithOutputLines("5");
+ // TODO(b/295136314): Account for no positions in outline caller.
+ assertThrows(
+ CompilationFailedException.class,
+ () ->
+ testForR8(parameters.getBackend())
+ .addInnerClasses(getClass())
+ .setMinApi(parameters)
+ .addKeepMainRule(Main.class)
+ .enableInliningAnnotations()
+ .addOptionsModification(
+ options -> {
+ options.outline.threshold = 2;
+ options.outline.minSize = 2;
+ })
+ .addKeepAttributeLineNumberTable()
+ .addKeepAttributeSourceFile()
+ .compileWithExpectedDiagnostics(
+ diagnostics ->
+ diagnostics.assertErrorMessageThatMatches(
+ containsString("Mapped outline positions is empty"))));
}
public static class Main {