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
The libraries in this directory are mirrored from external projects. Patches to them should first be contributed upstream and then return to Polly as normal (re)imports of these updated libraries. We currently have the following external libraries. # isl License: MIT-STYLE Details: isl/LICENSE # imath License: MIT-STYLE Details: isl/imath/LICENSE To update these libraries run 'autoreconf -i && ./configure && make dist' in the isl git directory and move the resulting files into lib/External/isl. Alternatively, run the update-isl.sh script.