diff options
| author | 2015-04-25 23:39:27 +0000 | |
|---|---|---|
| committer | 2015-04-25 23:39:27 +0000 | |
| commit | def0d613ae08a64c2dd101b501a555567fc3cc1e (patch) | |
| tree | e5a8e600e5f3498f249fdafa39506bb9baee6fb5 | |
| parent | afa563a6879d5494caea47f947417dc79a00908c (diff) | |
| parent | 29d577f58f9153c2c0a9b381afe4070bc00941b8 (diff) | |
am 29d577f5: am 8b8315bb: am 3f4fa70a: Merge "ART: Test for GVN skipping"
* commit '29d577f58f9153c2c0a9b381afe4070bc00941b8':
ART: Test for GVN skipping
| -rw-r--r-- | test/090-loop-formation/expected.txt | 1 | ||||
| -rw-r--r-- | test/090-loop-formation/src/Main.java | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/test/090-loop-formation/expected.txt b/test/090-loop-formation/expected.txt index b7e0bb3d11..b945c305b2 100644 --- a/test/090-loop-formation/expected.txt +++ b/test/090-loop-formation/expected.txt @@ -3,3 +3,4 @@ counter2 is 32767 counter3 is 32767 counter4 is 0 counter5 is 65534 +256 diff --git a/test/090-loop-formation/src/Main.java b/test/090-loop-formation/src/Main.java index 7c16667ff0..16ff3b2eff 100644 --- a/test/090-loop-formation/src/Main.java +++ b/test/090-loop-formation/src/Main.java @@ -52,5 +52,31 @@ public class Main { System.out.println("counter3 is " + counter3); System.out.println("counter4 is " + counter4); System.out.println("counter5 is " + counter5); + + deeplyNested(); + } + + // GVN is limited to a maximum loop depth of 6. To track whether dependent passes are + // correctly turned off, test some very simple, but deeply nested loops. + private static void deeplyNested() { + int sum = 0; + for (int i = 0; i < 2; i++) { + for (int j = 0; j < 2; j++) { + for (int k = 0; k < 2; k++) { + for (int l = 0; l < 2; l++) { + for (int m = 0; m < 2; m++) { + for (int n = 0; n < 2; n++) { + for (int o = 0; o < 2; o++) { + for (int p = 0; p < 2; p++) { + sum++; + } + } + } + } + } + } + } + } + System.out.println(sum); } } |