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/omega/p.delft2-0.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/omega/p.delft2-0.c')
-rw-r--r-- | polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c index 1740e4fe8a5..7ab83b694cc 100644 --- a/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c +++ b/polly/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c @@ -5,6 +5,7 @@ if (P1 >= 0 && P1 <= 3 && P2 >= 0 && P2 <= 3) if ((5 * P2 + 2 * c3) % 9 <= 3) { if (P1 >= 1 && c0 + 1 == P1 && (5 * P1 + 2 * c2) % 9 <= 2) { s0(P1 - 1, P2, c2, c3, ((5 * P1 + 2 * c2 + 9) % 9) + 1, -4 * P2 + 2 * c3 - 9 * floord(-4 * P2 + 2 * c3, 9)); - } else if (P1 == 0 && c0 == 3 && c2 % 4 == 0) + } else if (P1 == 0 && c0 == 3 && c2 % 4 == 0) { s0(3, P2, c2, c3, (-c2 / 4) + 3, -4 * P2 + 2 * c3 - 9 * floord(-4 * P2 + 2 * c3, 9)); + } } |