diff options
Diffstat (limited to 'test/564-checker-inline-loop/src/Main.java')
-rw-r--r-- | test/564-checker-inline-loop/src/Main.java | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/test/564-checker-inline-loop/src/Main.java b/test/564-checker-inline-loop/src/Main.java index 6929913864..41eca3531d 100644 --- a/test/564-checker-inline-loop/src/Main.java +++ b/test/564-checker-inline-loop/src/Main.java @@ -21,9 +21,6 @@ public class Main { /// CHECK-DAG: Return [<<Invoke>>] /// CHECK-START: int Main.inlineLoop() inliner (after) - /// CHECK-NOT: InvokeStaticOrDirect - - /// CHECK-START: int Main.inlineLoop() inliner (after) /// CHECK-DAG: <<Constant:i\d+>> IntConstant 42 /// CHECK-DAG: Return [<<Constant>>] @@ -31,31 +28,31 @@ public class Main { /// CHECK: Goto loop:{{B\d+}} public static int inlineLoop() { - return loopMethod(); + return $inline$loopMethod(); } /// CHECK-START: void Main.inlineWithinLoop() inliner (before) /// CHECK: InvokeStaticOrDirect - /// CHECK-START: void Main.inlineWithinLoop() inliner (after) - /// CHECK-NOT: InvokeStaticOrDirect - /// CHECK-START: void Main.inlineWithinLoop() licm (after) /// CHECK-DAG: Goto loop:<<OuterLoop:B\d+>> outer_loop:none /// CHECK-DAG: Goto outer_loop:<<OuterLoop>> public static void inlineWithinLoop() { while (doLoop) { - loopMethod(); + $inline$loopMethod(); } } - public static int loopMethod() { - while (doLoop) {} + public static int $inline$loopMethod() { + // We use `otherDoLoop` here so we don't propagate the knowledge that `doLoop` is true when + // inlining from `inlineWithinLoop`. + while (otherDoLoop) {} return 42; } public static boolean doLoop = false; + public static boolean otherDoLoop = false; public static void main(String[] args) { inlineLoop(); |