diff options
author | Tobias Grosser <tobias@grosser.es> | 2016-06-12 04:30:40 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2016-06-12 04:30:40 +0000 |
commit | 07b209523403d6c0d68c328cb20a8eaf6b51369c (patch) | |
tree | 8be8684e3bb7f859f925276864978daabc8b90e2 /polly/lib/External/isl/test_inputs/codegen/cloog | |
parent | 8620679eb5f30246c6d9f8d5813936ffed2502d6 (diff) | |
download | bcm5719-llvm-07b209523403d6c0d68c328cb20a8eaf6b51369c.tar.gz bcm5719-llvm-07b209523403d6c0d68c328cb20a8eaf6b51369c.zip |
Update isl to isl-0.17.1-57-g1879898
With this update the isl AST generation extracts disjunctive constraints early
on. As a result, code that previously resulted in two branches with (close-to)
identical code within them:
if (P <= -1) {
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
} else if (P >= 1)
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
results now in only a single branch body:
if (P <= -1 || P >= 1)
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
This resolves http://llvm.org/PR27559
Besides the above change, this isl update brings better simplification of
sets/maps containing existentially quantified dimensions and fixes a bug in
isl's coalescing.
llvm-svn: 272500
Diffstat (limited to 'polly/lib/External/isl/test_inputs/codegen/cloog')
6 files changed, 14 insertions, 7 deletions
diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/pouchet.c b/polly/lib/External/isl/test_inputs/codegen/cloog/pouchet.c index dc844442ca5..97974bbc3ee 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/pouchet.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/pouchet.c @@ -5,7 +5,8 @@ for (int c0 = 1; c0 <= floord(Ny, 2) + 2; c0 += 1) S1(c0 - c1, c1, 2 * c0 - 2 * c1, -2 * c0 + 4 * c1, c2); S2(c0 - c1, c1, 2 * c0 - 2 * c1, -2 * c0 + 4 * c1 - 1, c2); } - } else + } else { for (int c2 = 1; c2 <= 2; c2 += 1) S2((-Ny + 2 * c0) / 4, (Ny + 2 * c0) / 4, (-Ny / 2) + c0, Ny - 1, c2); + } } diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/union.c b/polly/lib/External/isl/test_inputs/codegen/cloog/union.c index 6dc0a9b877f..b9daaf95a8a 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/union.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/union.c @@ -1,6 +1,7 @@ if (M >= 11) { for (int c0 = -100; c0 <= 0; c0 += 1) S1(-c0); -} else +} else { for (int c0 = 0; c0 <= 100; c0 += 1) S1(c0); +} diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/vasilache.c b/polly/lib/External/isl/test_inputs/codegen/cloog/vasilache.c index 7dfadcf0c4e..0df78897bdb 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/vasilache.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/vasilache.c @@ -16,8 +16,9 @@ } if (32 * c2 + 31 >= N) { S6(c0, c1, c2, N - 1); - } else + } else { S6(c0, c1, c2, 32 * c2 + 31); + } } S8(); } diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/vivien.c b/polly/lib/External/isl/test_inputs/codegen/cloog/vivien.c index ab0854a772e..030a88adb6d 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/vivien.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/vivien.c @@ -46,8 +46,9 @@ } if (n == 2 && c0 == 4) S1(3); - } else + } else { S1(1); + } if (c0 % 2 == 0) S3(c0 / 2); for (int c1 = max(1, -n + c0); c1 < (c0 + 1) / 2; c1 += 1) diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/vivien2.c b/polly/lib/External/isl/test_inputs/codegen/cloog/vivien2.c index 48be9ad97b3..d30183e97b3 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/vivien2.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/vivien2.c @@ -23,9 +23,10 @@ S6(2, n); S1(n + 1); } - } else if (c0 + 2 >= 2 * n) + } else if (c0 + 2 >= 2 * n) { for (int c2 = 1; c2 < -n + c0; c2 += 1) S5(-n + c0, n, c2); + } if (c0 >= n + 3) { S6(-n + c0, n); S1(c0 - 1); @@ -39,8 +40,9 @@ if (n + 1 >= c0) S6(1, c0 - 1); } - } else + } else { S1(1); + } if (c0 % 2 == 0) S3(c0 / 2); for (int c1 = max(1, -n + c0); c1 < (c0 + 1) / 2; c1 += 1) diff --git a/polly/lib/External/isl/test_inputs/codegen/cloog/walters.c b/polly/lib/External/isl/test_inputs/codegen/cloog/walters.c index 2c1bd93858b..f65491528c6 100644 --- a/polly/lib/External/isl/test_inputs/codegen/cloog/walters.c +++ b/polly/lib/External/isl/test_inputs/codegen/cloog/walters.c @@ -8,8 +8,9 @@ S1(c0, c0 / 3, c0 / 3, c0 / 3); } else if ((c0 - 1) % 3 == 0) { S2(c0, (c0 - 1) / 3, (c0 + 2) / 3, (c0 - 1) / 3); - } else + } else { S3(c0, (c0 - 2) / 3, (c0 + 1) / 3, (c0 + 1) / 3); + } S4(c0, c0 / 3, (c0 - 1) / 3 + 1, c0 - (c0 - 1) / 3 - c0 / 3 - 1); } } |