summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/test_inputs/codegen
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2016-03-25 19:38:18 +0000
committerTobias Grosser <tobias@grosser.es>2016-03-25 19:38:18 +0000
commit37034db826ab706ffd9c74c8d5d7474f2700679c (patch)
tree1b87bb5fde12ac4cdb0276d4e86d57f8cbbde112 /polly/lib/External/isl/test_inputs/codegen
parente988af9073dc59d6b158b0b90570b97415ba52a2 (diff)
downloadbcm5719-llvm-37034db826ab706ffd9c74c8d5d7474f2700679c.tar.gz
bcm5719-llvm-37034db826ab706ffd9c74c8d5d7474f2700679c.zip
Update to isl-0.16.1-145-g243bf7c
Just an import to keep track with the latest version of isl. We are not looking for specific features. llvm-svn: 264452
Diffstat (limited to 'polly/lib/External/isl/test_inputs/codegen')
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/cloog/equality.c2
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/correlation.c54
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/correlation.st18
-rw-r--r--polly/lib/External/isl/test_inputs/codegen/shift2.c4
4 files changed, 75 insertions, 3 deletions
diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/equality.c b/polly/lib/External/isl/test_inputs/codegen/cloog/equality.c
index 5fd62076ccc..fa6ff75f0a5 100644
--- a/polly/lib/External/isl/test_inputs/codegen/cloog/equality.c
+++ b/polly/lib/External/isl/test_inputs/codegen/cloog/equality.c
@@ -1,5 +1,5 @@
for (int c0 = 0; c0 <= 5; c0 += 1)
- for (int c1 = min(2 * c0, 4); c1 <= max(2 * c0, 4); c1 += 1) {
+ for (int c1 = min(4, 2 * c0); c1 <= max(4, 2 * c0); c1 += 1) {
if (c1 == 2 * c0)
S1(c0, 2 * c0);
if (c1 == 4)
diff --git a/polly/lib/External/isl/test_inputs/codegen/correlation.c b/polly/lib/External/isl/test_inputs/codegen/correlation.c
new file mode 100644
index 00000000000..d331fae6cd9
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/correlation.c
@@ -0,0 +1,54 @@
+for (int c0 = 0; c0 <= max(0, m - 1); c0 += 32)
+ if (m >= c0 + 1)
+ for (int c1 = (n >= 32 && m >= c0 + 2) || (m == 1 && c0 == 0) ? 0 : 32 * n - 32 * floord(31 * n + 31, 32); c1 <= ((n <= -1 && c0 == 0) || (m == 1 && n >= 0 && c0 == 0) ? max(0, n - 1) : n); c1 += 32)
+ for (int c2 = c0; c2 <= (m >= 2 && c0 + 31 >= m && n >= c1 && c1 + 31 >= n ? 2 * m - 3 : (m >= 2 * c0 + 63 && c1 <= -32 && n >= c1 && c1 + 31 >= n) || (m >= c0 + 32 && 2 * c0 + 62 >= m && n >= c1 && c1 + 31 >= n) || (n >= 0 && c0 >= 32 && m >= 2 * c0 + 63 && c1 == n) || (m >= 63 && n >= 32 && c0 == 0 && c1 == n) ? 2 * c0 + 61 : m - 1); c2 += 32) {
+ if (c1 >= n) {
+ if (c0 == 0 && c1 == 0)
+ for (int c5 = 0; c5 <= min(31, m - c2 - 1); c5 += 1)
+ S_14(c2 + c5);
+ if (c1 == n)
+ for (int c3 = max(0, (c2 / 2) - c0 + 1); c3 <= min(31, m - c0 - 1); c3 += 1)
+ for (int c5 = max(0, c0 - c2 + c3); c5 <= min(31, 2 * c0 - c2 + 2 * c3 - 1); c5 += 1)
+ S_29(-c0 + c2 - c3 + c5, c0 + c3);
+ } else if (c1 >= 0 && m >= c2 + 1) {
+ for (int c3 = 0; c3 <= min(min(31, m - c0 - 2), -c0 + c2 + 30); c3 += 1) {
+ for (int c4 = 0; c4 <= min(31, n - c1 - 1); c4 += 1) {
+ if (c0 == 0 && c2 == 0 && c3 == 0) {
+ if (c1 == 0 && c4 == 0)
+ S_14(0);
+ S_19(c1 + c4, 0);
+ }
+ for (int c5 = max(0, c0 - c2 + c3 + 1); c5 <= min(31, m - c2 - 1); c5 += 1) {
+ if (c0 == 0 && c1 == 0 && c3 == 0 && c4 == 0)
+ S_14(c2 + c5);
+ if (c0 == 0 && c3 == 0)
+ S_19(c1 + c4, c2 + c5);
+ S_27(c0 + c3, c2 + c5, c1 + c4);
+ }
+ }
+ if (c1 + 31 >= n)
+ for (int c5 = max(0, c0 - c2 + c3); c5 <= min(31, 2 * c0 - c2 + 2 * c3 - 1); c5 += 1)
+ S_29(-c0 + c2 - c3 + c5, c0 + c3);
+ }
+ if (c0 + 31 >= m && c1 + 31 >= n && c2 == c0) {
+ for (int c5 = m - c0 - 1; c5 <= min(31, 2 * m - c0 - 3); c5 += 1)
+ S_29(-m + c0 + c5 + 1, m - 1);
+ } else if (m >= c0 + 32 && c1 + 31 >= n && c2 == c0)
+ S_29(0, c0 + 31);
+ } else if (c1 + 31 >= n && c2 >= m) {
+ for (int c3 = max(0, (c2 / 2) - c0 + 1); c3 <= min(31, m - c0 - 1); c3 += 1)
+ for (int c5 = 0; c5 <= min(31, 2 * c0 - c2 + 2 * c3 - 1); c5 += 1)
+ S_29(-c0 + c2 - c3 + c5, c0 + c3);
+ } else if (c1 <= -32 && c1 + 31 >= n && m >= c2 + 1)
+ for (int c3 = max(0, (c2 / 2) - c0 + 1); c3 <= min(31, m - c0 - 1); c3 += 1)
+ for (int c5 = max(0, c0 - c2 + c3); c5 <= min(31, 2 * c0 - c2 + 2 * c3 - 1); c5 += 1)
+ S_29(-c0 + c2 - c3 + c5, c0 + c3);
+ if (m == 1 && c0 == 0 && c1 >= 32 && c2 == 0) {
+ for (int c4 = 0; c4 <= min(31, n - c1 - 1); c4 += 1)
+ S_19(c1 + c4, 0);
+ } else if (m == 1 && n >= 1 && c0 == 0 && c1 == 0 && c2 == 0) {
+ S_14(0);
+ for (int c4 = 0; c4 <= min(31, n - 1); c4 += 1)
+ S_19(c4, 0);
+ }
+ }
diff --git a/polly/lib/External/isl/test_inputs/codegen/correlation.st b/polly/lib/External/isl/test_inputs/codegen/correlation.st
new file mode 100644
index 00000000000..bba5a09d8ef
--- /dev/null
+++ b/polly/lib/External/isl/test_inputs/codegen/correlation.st
@@ -0,0 +1,18 @@
+domain: "[m, n] -> { S_14[j] : 0 <= j < m; S_19[i, j] : 0 <= i < n and 0 <= j < m; S_27[i, j, k] : i >= 0 and i < j < m and 0 <= k < n; S_29[i, j] : i >= 0 and i < j < m }"
+child:
+ context: "[m, n] -> { [] : 0 < m <= 2147483647 and -2147483648 <= n <= 2147483647 }"
+ child:
+ schedule: "[m, n] -> [{ S_19[i, j] -> [(0)]; S_29[i, j] -> [(32*floor((j)/32))]; S_27[i, j, k] -> [(32*floor((i)/32))]; S_14[j] -> [(0)] }, { S_19[i, j] -> [(32*floor((i)/32))]; S_29[i, j] -> [(32*floor((n)/32))]; S_27[i, j, k] -> [(32*floor((k)/32))]; S_14[j] -> [(0)] }, { S_19[i, j] -> [(32*floor((j)/32))]; S_29[i, j] -> [(32*floor((i + j)/32))]; S_27[i, j, k] -> [(32*floor((j)/32))]; S_14[j] -> [(32*floor((j)/32))] }]"
+ permutable: 1
+ coincident: [ 1, 1, 1 ]
+ options: "{ atomic[i0] : 0 <= i0 <= 2 }"
+ child:
+ schedule: "[m, n] -> [{ S_19[i, j] -> [(0)]; S_29[i, j] -> [(j - 32*floor((j)/32))]; S_27[i, j, k] -> [(i - 32*floor((i)/32))]; S_14[j] -> [(0)] }, { S_19[i, j] -> [(i - 32*floor((i)/32))]; S_29[i, j] -> [(n - 32*floor((n)/32))]; S_27[i, j, k] -> [(k - 32*floor((k)/32))]; S_14[j] -> [(0)] }, { S_19[i, j] -> [(j - 32*floor((j)/32))]; S_29[i, j] -> [(i + j - 32*floor((i + j)/32))]; S_27[i, j, k] -> [(j - 32*floor((j)/32))]; S_14[j] -> [(j - 32*floor((j)/32))] }]"
+ permutable: 1
+ coincident: [ 1, 1, 1 ]
+ child:
+ sequence:
+ - filter: "[m, n] -> { S_29[i, j] }"
+ - filter: "[m, n] -> { S_14[j] }"
+ - filter: "[m, n] -> { S_19[i, j] }"
+ - filter: "[m, n] -> { S_27[i, j, k] }"
diff --git a/polly/lib/External/isl/test_inputs/codegen/shift2.c b/polly/lib/External/isl/test_inputs/codegen/shift2.c
index 30ea633b674..5d038f37733 100644
--- a/polly/lib/External/isl/test_inputs/codegen/shift2.c
+++ b/polly/lib/External/isl/test_inputs/codegen/shift2.c
@@ -27,9 +27,9 @@ for (int c0 = 0; c0 <= 1; c0 += 1) {
if (c3 + 30 >= 2 * length && c4 == 0)
S_4(c0);
}
- if (c2 + 16 == length && (length - 16) % 32 == 0)
+ if (c2 + 16 == length)
S_4(c0);
- } else if (length == 0) {
+ } else if (length >= 32) {
S_4(c0);
} else
S_4(c0);
OpenPOWER on IntegriCloud