diff options
author | Tobias Grosser <tobias@grosser.es> | 2016-03-25 19:38:18 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2016-03-25 19:38:18 +0000 |
commit | 37034db826ab706ffd9c74c8d5d7474f2700679c (patch) | |
tree | 1b87bb5fde12ac4cdb0276d4e86d57f8cbbde112 /polly/lib/External/isl/test_inputs/codegen | |
parent | e988af9073dc59d6b158b0b90570b97415ba52a2 (diff) | |
download | bcm5719-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')
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); |