summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/External/isl/GIT_HEAD_ID2
-rw-r--r--polly/lib/External/isl/isl_map.c11
-rw-r--r--polly/lib/External/isl/isl_map_private.h2
-rw-r--r--polly/lib/External/isl/isl_map_simplify.c4
4 files changed, 16 insertions, 3 deletions
diff --git a/polly/lib/External/isl/GIT_HEAD_ID b/polly/lib/External/isl/GIT_HEAD_ID
index 850425f8447..0a13abe7615 100644
--- a/polly/lib/External/isl/GIT_HEAD_ID
+++ b/polly/lib/External/isl/GIT_HEAD_ID
@@ -1 +1 @@
-isl-0.18-417-gb9e7334
+isl-0.18-423-g30331fe
diff --git a/polly/lib/External/isl/isl_map.c b/polly/lib/External/isl/isl_map.c
index c8543820f22..da506ef46f8 100644
--- a/polly/lib/External/isl/isl_map.c
+++ b/polly/lib/External/isl/isl_map.c
@@ -3966,8 +3966,11 @@ __isl_give isl_basic_map *isl_basic_map_move_dims(
if (!bmap)
return NULL;
- if (n == 0)
+ if (n == 0) {
+ bmap = isl_basic_map_reset(bmap, src_type);
+ bmap = isl_basic_map_reset(bmap, dst_type);
return bmap;
+ }
if (isl_basic_map_check_range(bmap, src_type, src_pos, n) < 0)
return isl_basic_map_free(bmap);
@@ -4077,8 +4080,11 @@ __isl_give isl_map *isl_map_move_dims(__isl_take isl_map *map,
if (!map)
return NULL;
- if (n == 0)
+ if (n == 0) {
+ map = isl_map_reset(map, src_type);
+ map = isl_map_reset(map, dst_type);
return map;
+ }
isl_assert(map->ctx, src_pos + n <= isl_map_dim(map, src_type),
goto error);
@@ -12053,6 +12059,7 @@ static __isl_give isl_basic_map *isl_basic_map_from_aff2(
isl_aff_free(aff);
if (rational)
bmap = isl_basic_map_set_rational(bmap);
+ bmap = isl_basic_map_gauss(bmap, NULL);
bmap = isl_basic_map_finalize(bmap);
return bmap;
error:
diff --git a/polly/lib/External/isl/isl_map_private.h b/polly/lib/External/isl/isl_map_private.h
index 5e9d232f8cd..5bf7356cd31 100644
--- a/polly/lib/External/isl/isl_map_private.h
+++ b/polly/lib/External/isl/isl_map_private.h
@@ -161,6 +161,8 @@ __isl_give isl_map *isl_map_realign(__isl_take isl_map *map,
__isl_give isl_set *isl_set_realign(__isl_take isl_set *set,
__isl_take isl_reordering *r);
+__isl_give isl_basic_map *isl_basic_map_reset(__isl_take isl_basic_map *bmap,
+ enum isl_dim_type type);
__isl_give isl_map *isl_map_reset(__isl_take isl_map *map,
enum isl_dim_type type);
diff --git a/polly/lib/External/isl/isl_map_simplify.c b/polly/lib/External/isl/isl_map_simplify.c
index 8b322d3598e..e5565a00801 100644
--- a/polly/lib/External/isl/isl_map_simplify.c
+++ b/polly/lib/External/isl/isl_map_simplify.c
@@ -4216,6 +4216,9 @@ error:
*
* After all constraints have been modified, we drop the lower and upper
* bound and then drop div1.
+ * Since the new div is only placed in the same location that used
+ * to store div2, but otherwise has a different meaning, any possible
+ * explicit representation of the original div2 is removed.
*/
static struct isl_basic_map *coalesce_divs(struct isl_basic_map *bmap,
unsigned div1, unsigned div2, unsigned l, unsigned u)
@@ -4260,6 +4263,7 @@ static struct isl_basic_map *coalesce_divs(struct isl_basic_map *bmap,
isl_basic_map_drop_inequality(bmap, u);
isl_basic_map_drop_inequality(bmap, l);
}
+ bmap = isl_basic_map_mark_div_unknown(bmap, div2);
bmap = isl_basic_map_drop_div(bmap, div1);
return bmap;
}
OpenPOWER on IntegriCloud