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/walters.c | |
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/walters.c')
-rw-r--r-- | polly/lib/External/isl/test_inputs/codegen/cloog/walters.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); } } |