summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-06-13 08:05:51 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-06-11 15:59:20 +0000
commitb08f63c21de64f8b74003e3638e100471bd099f3 (patch)
treece0feab2c5a04e5a2d811e0b4b88d34bebc22730 /test
parent3316ff53b8745707a492d0442a94174abc679ece (diff)
parente27f31a81636ad74bd3376ee39cf215941b85c0e (diff)
downloadart-b08f63c21de64f8b74003e3638e100471bd099f3.zip
art-b08f63c21de64f8b74003e3638e100471bd099f3.tar.gz
art-b08f63c21de64f8b74003e3638e100471bd099f3.tar.bz2
Merge "Enable the register allocator on ARM."
Diffstat (limited to 'test')
-rw-r--r--test/404-optimizing-allocator/src/Main.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/404-optimizing-allocator/src/Main.java b/test/404-optimizing-allocator/src/Main.java
index 60477f9..7b31820 100644
--- a/test/404-optimizing-allocator/src/Main.java
+++ b/test/404-optimizing-allocator/src/Main.java
@@ -27,7 +27,8 @@ public class Main {
expectEquals(10, $opt$reg$TestMultipleLive());
expectEquals(1, $opt$reg$TestWithBreakAndContinue());
expectEquals(-15, $opt$reg$testSpillInIf(5, 6, 7));
- expectEquals(-567, $opt$reg$TestAgressiveLive(1, 2, 3, 4, 5, 6, 7));
+ expectEquals(-567, $opt$reg$TestAgressiveLive1(1, 2, 3, 4, 5, 6, 7));
+ expectEquals(-77, $opt$reg$TestAgressiveLive2(1, 2, 3, 4, 5, 6, 7));
}
public static int $opt$reg$TestLostCopy() {
@@ -125,7 +126,7 @@ public class Main {
return a - b - c - d - e;
}
- public static int $opt$reg$TestAgressiveLive(int a, int b, int c, int d, int e, int f, int g) {
+ public static int $opt$reg$TestAgressiveLive1(int a, int b, int c, int d, int e, int f, int g) {
int h = a - b;
int i = c - d;
int j = e - f;
@@ -146,6 +147,17 @@ public class Main {
return a - b - c - d - e - f - g - h - i - j - k;
}
+ public static int $opt$reg$TestAgressiveLive2(int a, int b, int c, int d, int e, int f, int g) {
+ int h = a - b;
+ int i = c - d;
+ int j = e - f;
+ int k = 42 + g - a;
+ do {
+ h++;
+ } while (h != 5);
+ return a - b - c - d - e - f - g - h - i - j - k;
+ }
+
public static void expectEquals(int expected, int value) {
if (expected != value) {
throw new Error("Expected: " + expected + ", got: " + value);