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/isl_vec.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/isl_vec.c')
-rw-r--r-- | polly/lib/External/isl/isl_vec.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/polly/lib/External/isl/isl_vec.c b/polly/lib/External/isl/isl_vec.c index 29b9d43573e..2b49a8106ad 100644 --- a/polly/lib/External/isl/isl_vec.c +++ b/polly/lib/External/isl/isl_vec.c @@ -51,6 +51,7 @@ struct isl_vec *isl_vec_alloc(struct isl_ctx *ctx, unsigned size) return vec; error: isl_blk_free(ctx, vec->block); + free(vec); return NULL; } |