summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2017-03-21 09:12:11 +0000
committerTobias Grosser <tobias@grosser.es>2017-03-21 09:12:11 +0000
commit29eaa16b7e87441a52cab354028d6799d29f07d4 (patch)
treec4d408c6e12911f4bbae8297e6663f133eacbc9d
parent76e562ab1b4b1c1e180f763f21ee69ae1193fa72 (diff)
downloadbcm5719-llvm-29eaa16b7e87441a52cab354028d6799d29f07d4.tar.gz
bcm5719-llvm-29eaa16b7e87441a52cab354028d6799d29f07d4.zip
Update isl to isl-0.18-395-g77701b3
This is a normal maintenance update. llvm-svn: 298352
-rw-r--r--polly/lib/External/isl/GIT_HEAD_ID2
-rw-r--r--polly/lib/External/isl/doc/user.pod12
-rw-r--r--polly/lib/External/isl/include/isl/aff.h6
-rw-r--r--polly/lib/External/isl/include/isl/map.h1
-rw-r--r--polly/lib/External/isl/include/isl/point.h2
-rw-r--r--polly/lib/External/isl/include/isl/set.h1
-rw-r--r--polly/lib/External/isl/isl_aff.c41
-rw-r--r--polly/lib/External/isl/isl_aff_private.h2
-rw-r--r--polly/lib/External/isl/isl_affine_hull.c2
-rw-r--r--polly/lib/External/isl/isl_convex_hull.c4
-rw-r--r--polly/lib/External/isl/isl_map.c13
-rw-r--r--polly/lib/External/isl/isl_map_private.h1
-rw-r--r--polly/lib/External/isl/isl_point.c7
-rw-r--r--polly/lib/External/isl/isl_test.c4
14 files changed, 81 insertions, 17 deletions
diff --git a/polly/lib/External/isl/GIT_HEAD_ID b/polly/lib/External/isl/GIT_HEAD_ID
index 1d00e721f74..d1ae5836688 100644
--- a/polly/lib/External/isl/GIT_HEAD_ID
+++ b/polly/lib/External/isl/GIT_HEAD_ID
@@ -1 +1 @@
-isl-0.18-387-g3fa6191
+isl-0.18-395-g77701b3
diff --git a/polly/lib/External/isl/doc/user.pod b/polly/lib/External/isl/doc/user.pod
index 1c85e16cb1f..92e12c37485 100644
--- a/polly/lib/External/isl/doc/user.pod
+++ b/polly/lib/External/isl/doc/user.pod
@@ -2362,7 +2362,8 @@ Points can be copied or freed using
__isl_give isl_point *isl_point_copy(
__isl_keep isl_point *pnt);
- void isl_point_free(__isl_take isl_point *pnt);
+ __isl_null isl_point *isl_point_free(
+ __isl_take isl_point *pnt);
A singleton set can be created from a point using
@@ -6274,12 +6275,21 @@ into the first expression.
__isl_give isl_set *isl_aff_le_set(
__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
+ __isl_give isl_basic_set *isl_aff_lt_basic_set(
+ __isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
+ __isl_give isl_set *isl_aff_lt_set(
+ __isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
__isl_give isl_basic_set *isl_aff_ge_basic_set(
__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
__isl_give isl_set *isl_aff_ge_set(
__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
+ __isl_give isl_basic_set *isl_aff_gt_basic_set(
+ __isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
__isl_give isl_set *isl_pw_aff_eq_set(
__isl_take isl_pw_aff *pwaff1,
__isl_take isl_pw_aff *pwaff2);
diff --git a/polly/lib/External/isl/include/isl/aff.h b/polly/lib/External/isl/include/isl/aff.h
index 2dcb476fd29..9af25948e5b 100644
--- a/polly/lib/External/isl/include/isl/aff.h
+++ b/polly/lib/External/isl/include/isl/aff.h
@@ -138,10 +138,16 @@ __isl_give isl_basic_set *isl_aff_le_basic_set(__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
__isl_give isl_set *isl_aff_le_set(__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
+__isl_give isl_basic_set *isl_aff_lt_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
+__isl_give isl_set *isl_aff_lt_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
__isl_give isl_basic_set *isl_aff_ge_basic_set(__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
__isl_give isl_set *isl_aff_ge_set(__isl_take isl_aff *aff1,
__isl_take isl_aff *aff2);
+__isl_give isl_basic_set *isl_aff_gt_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2);
__isl_constructor
__isl_give isl_aff *isl_aff_read_from_str(isl_ctx *ctx, const char *str);
diff --git a/polly/lib/External/isl/include/isl/map.h b/polly/lib/External/isl/include/isl/map.h
index ed6b70e1b40..226db26a8c8 100644
--- a/polly/lib/External/isl/include/isl/map.h
+++ b/polly/lib/External/isl/include/isl/map.h
@@ -569,6 +569,7 @@ __isl_give isl_map *isl_map_uncurry(__isl_take isl_map *map);
__isl_give isl_map *isl_map_make_disjoint(__isl_take isl_map *map);
__isl_give isl_map *isl_basic_map_compute_divs(__isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_compute_divs(__isl_take isl_map *map);
+ISL_DEPRECATED
__isl_give isl_map *isl_map_align_divs(__isl_take isl_map *map);
__isl_give isl_basic_map *isl_basic_map_drop_constraints_involving_dims(
diff --git a/polly/lib/External/isl/include/isl/point.h b/polly/lib/External/isl/include/isl/point.h
index c928f9ac7f8..97c3c46f5aa 100644
--- a/polly/lib/External/isl/include/isl/point.h
+++ b/polly/lib/External/isl/include/isl/point.h
@@ -17,7 +17,7 @@ __isl_give isl_space *isl_point_get_space(__isl_keep isl_point *pnt);
__isl_give isl_point *isl_point_zero(__isl_take isl_space *dim);
__isl_give isl_point *isl_point_copy(__isl_keep isl_point *pnt);
-void isl_point_free(__isl_take isl_point *pnt);
+__isl_null isl_point *isl_point_free(__isl_take isl_point *pnt);
__isl_give isl_val *isl_point_get_coordinate_val(__isl_keep isl_point *pnt,
enum isl_dim_type type, int pos);
diff --git a/polly/lib/External/isl/include/isl/set.h b/polly/lib/External/isl/include/isl/set.h
index b0980d16241..dcf17570ae7 100644
--- a/polly/lib/External/isl/include/isl/set.h
+++ b/polly/lib/External/isl/include/isl/set.h
@@ -395,6 +395,7 @@ __isl_give isl_set *isl_set_neg(__isl_take isl_set *set);
__isl_give isl_set *isl_set_make_disjoint(__isl_take isl_set *set);
struct isl_set *isl_basic_set_compute_divs(struct isl_basic_set *bset);
__isl_give isl_set *isl_set_compute_divs(__isl_take isl_set *set);
+ISL_DEPRECATED
__isl_give isl_set *isl_set_align_divs(__isl_take isl_set *set);
__isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set,
diff --git a/polly/lib/External/isl/isl_aff.c b/polly/lib/External/isl/isl_aff.c
index 79bbb2d462f..8a6a715b974 100644
--- a/polly/lib/External/isl/isl_aff.c
+++ b/polly/lib/External/isl/isl_aff.c
@@ -2229,13 +2229,21 @@ __isl_give isl_basic_set *isl_aff_nonneg_basic_set(__isl_take isl_aff *aff)
}
/* Return a basic set containing those elements in the domain space
+ * of "aff" where it is positive.
+ */
+__isl_give isl_basic_set *isl_aff_pos_basic_set(__isl_take isl_aff *aff)
+{
+ aff = isl_aff_add_constant_num_si(aff, -1);
+ return isl_aff_nonneg_basic_set(aff);
+}
+
+/* Return a basic set containing those elements in the domain space
* of aff where it is negative.
*/
__isl_give isl_basic_set *isl_aff_neg_basic_set(__isl_take isl_aff *aff)
{
aff = isl_aff_neg(aff);
- aff = isl_aff_add_constant_num_si(aff, -1);
- return isl_aff_nonneg_basic_set(aff);
+ return isl_aff_pos_basic_set(aff);
}
/* Return a basic set containing those elements in the space
@@ -2286,6 +2294,17 @@ __isl_give isl_basic_set *isl_aff_ge_basic_set(__isl_take isl_aff *aff1,
return isl_aff_nonneg_basic_set(aff1);
}
+/* Return a basic set containing those elements in the shared domain space
+ * of "aff1" and "aff2" where "aff1" is greater than "aff2".
+ */
+__isl_give isl_basic_set *isl_aff_gt_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2)
+{
+ aff1 = isl_aff_sub(aff1, aff2);
+
+ return isl_aff_pos_basic_set(aff1);
+}
+
/* Return a set containing those elements in the shared space
* of aff1 and aff2 where aff1 is greater than or equal to aff2.
*/
@@ -2304,6 +2323,15 @@ __isl_give isl_basic_set *isl_aff_le_basic_set(__isl_take isl_aff *aff1,
return isl_aff_ge_basic_set(aff2, aff1);
}
+/* Return a basic set containing those elements in the shared domain space
+ * of "aff1" and "aff2" where "aff1" is smaller than "aff2".
+ */
+__isl_give isl_basic_set *isl_aff_lt_basic_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2)
+{
+ return isl_aff_gt_basic_set(aff2, aff1);
+}
+
/* Return a set containing those elements in the shared space
* of aff1 and aff2 where aff1 is smaller than or equal to aff2.
*/
@@ -2313,6 +2341,15 @@ __isl_give isl_set *isl_aff_le_set(__isl_take isl_aff *aff1,
return isl_aff_ge_set(aff2, aff1);
}
+/* Return a set containing those elements in the shared domain space
+ * of "aff1" and "aff2" where "aff1" is smaller than "aff2".
+ */
+__isl_give isl_set *isl_aff_lt_set(__isl_take isl_aff *aff1,
+ __isl_take isl_aff *aff2)
+{
+ return isl_set_from_basic_set(isl_aff_lt_basic_set(aff1, aff2));
+}
+
/* Return a basic set containing those elements in the shared space
* of aff1 and aff2 where aff1 and aff2 are equal.
*/
diff --git a/polly/lib/External/isl/isl_aff_private.h b/polly/lib/External/isl/isl_aff_private.h
index 8cd95dde842..ef311f81b08 100644
--- a/polly/lib/External/isl/isl_aff_private.h
+++ b/polly/lib/External/isl/isl_aff_private.h
@@ -154,6 +154,8 @@ isl_bool isl_pw_aff_matching_params(__isl_keep isl_pw_aff *pa,
isl_stat isl_pw_aff_check_match_domain_space(__isl_keep isl_pw_aff *pa,
__isl_keep isl_space *space);
+__isl_give isl_basic_set *isl_aff_pos_basic_set(__isl_take isl_aff *aff);
+
#undef BASE
#define BASE pw_aff
diff --git a/polly/lib/External/isl/isl_affine_hull.c b/polly/lib/External/isl/isl_affine_hull.c
index 27e54ca7619..a28f1e5a0c2 100644
--- a/polly/lib/External/isl/isl_affine_hull.c
+++ b/polly/lib/External/isl/isl_affine_hull.c
@@ -1202,7 +1202,7 @@ __isl_give isl_basic_map *isl_map_affine_hull(__isl_take isl_map *map)
map = isl_map_local_affine_hull(map);
map = isl_map_remove_empty_parts(map);
map = isl_map_remove_unknown_divs(map);
- map = isl_map_align_divs(map);
+ map = isl_map_align_divs_internal(map);
if (!map)
return NULL;
diff --git a/polly/lib/External/isl/isl_convex_hull.c b/polly/lib/External/isl/isl_convex_hull.c
index 636a03dbece..02581974e81 100644
--- a/polly/lib/External/isl/isl_convex_hull.c
+++ b/polly/lib/External/isl/isl_convex_hull.c
@@ -1923,7 +1923,7 @@ struct isl_basic_map *isl_map_convex_hull(struct isl_map *map)
struct isl_set *set = NULL;
map = isl_map_detect_equalities(map);
- map = isl_map_align_divs(map);
+ map = isl_map_align_divs_internal(map);
if (!map)
goto error;
@@ -2415,7 +2415,7 @@ static __isl_give isl_basic_map *map_simple_hull(__isl_take isl_map *map,
return map_simple_hull_trivial(map);
affine_hull = isl_map_affine_hull(isl_map_copy(map));
input = isl_map_copy(map);
- map = isl_map_align_divs(map);
+ map = isl_map_align_divs_internal(map);
model = map ? isl_basic_map_copy(map->p[0]) : NULL;
set = isl_map_underlying_set(map);
diff --git a/polly/lib/External/isl/isl_map.c b/polly/lib/External/isl/isl_map.c
index 64a9ba635d8..8d9196de07c 100644
--- a/polly/lib/External/isl/isl_map.c
+++ b/polly/lib/External/isl/isl_map.c
@@ -8485,7 +8485,7 @@ __isl_give isl_basic_map *isl_basic_map_align_divs(
return dst;
}
-struct isl_map *isl_map_align_divs(struct isl_map *map)
+__isl_give isl_map *isl_map_align_divs_internal(__isl_take isl_map *map)
{
int i;
@@ -8510,9 +8510,14 @@ struct isl_map *isl_map_align_divs(struct isl_map *map)
return map;
}
+__isl_give isl_map *isl_map_align_divs(__isl_take isl_map *map)
+{
+ return isl_map_align_divs_internal(map);
+}
+
struct isl_set *isl_set_align_divs(struct isl_set *set)
{
- return set_from_map(isl_map_align_divs(set_to_map(set)));
+ return set_from_map(isl_map_align_divs_internal(set_to_map(set)));
}
/* Align the divs of the basic maps in "map" to those
@@ -8542,7 +8547,7 @@ __isl_give isl_map *isl_map_align_divs_to_basic_map_list(
if (!map->p[0])
return isl_map_free(map);
- return isl_map_align_divs(map);
+ return isl_map_align_divs_internal(map);
}
/* Align the divs of each element of "list" to those of "bmap".
@@ -10041,7 +10046,7 @@ __isl_give isl_set *isl_set_lift(__isl_take isl_set *set)
isl_space *dim;
unsigned n_div;
- set = isl_set_align_divs(set);
+ set = set_from_map(isl_map_align_divs_internal(set_to_map(set)));
if (!set)
return NULL;
diff --git a/polly/lib/External/isl/isl_map_private.h b/polly/lib/External/isl/isl_map_private.h
index e547e9031e9..9e356605afc 100644
--- a/polly/lib/External/isl/isl_map_private.h
+++ b/polly/lib/External/isl/isl_map_private.h
@@ -272,6 +272,7 @@ __isl_give isl_map *isl_map_align_divs_to_basic_map_list(
__isl_take isl_map *map, __isl_keep isl_basic_map_list *list);
__isl_give isl_basic_map_list *isl_basic_map_list_align_divs_to_basic_map(
__isl_take isl_basic_map_list *list, __isl_keep isl_basic_map *bmap);
+__isl_give isl_map *isl_map_align_divs_internal(__isl_take isl_map *map);
__isl_give isl_basic_set *isl_basic_set_sort_divs(
__isl_take isl_basic_set *bset);
__isl_give isl_basic_map *isl_basic_map_sort_divs(
diff --git a/polly/lib/External/isl/isl_point.c b/polly/lib/External/isl/isl_point.c
index c25b76fba67..48534edd9c7 100644
--- a/polly/lib/External/isl/isl_point.c
+++ b/polly/lib/External/isl/isl_point.c
@@ -103,17 +103,18 @@ __isl_give isl_point *isl_point_copy(__isl_keep isl_point *pnt)
return pnt;
}
-void isl_point_free(__isl_take isl_point *pnt)
+__isl_null isl_point *isl_point_free(__isl_take isl_point *pnt)
{
if (!pnt)
- return;
+ return NULL;
if (--pnt->ref > 0)
- return;
+ return NULL;
isl_space_free(pnt->dim);
isl_vec_free(pnt->vec);
free(pnt);
+ return NULL;
}
__isl_give isl_point *isl_point_void(__isl_take isl_space *dim)
diff --git a/polly/lib/External/isl/isl_test.c b/polly/lib/External/isl/isl_test.c
index 2322eb7e101..4e94bc2ae62 100644
--- a/polly/lib/External/isl/isl_test.c
+++ b/polly/lib/External/isl/isl_test.c
@@ -1926,7 +1926,7 @@ static int test_coalesce_special(struct isl_ctx *ctx)
"(exists (e0 = [(-2 + y)/3]: 3e0 = -2 + y and y <= 200 and "
"y >= 5 and o1 <= 241 and o1 >= 212)) }";
map1 = isl_map_read_from_str(ctx, str);
- map1 = isl_map_align_divs(map1);
+ map1 = isl_map_align_divs_internal(map1);
map1 = isl_map_coalesce(map1);
str = "[y] -> { [S_L220_OUT[] -> T7[]] -> "
"[[S_L309_IN[] -> T11[]] -> ce_imag2[o0, o1]] : "
@@ -1935,7 +1935,7 @@ static int test_coalesce_special(struct isl_ctx *ctx)
"o0 >= 3 - y and o0 <= -2 + y and o0 >= 0) }";
map2 = isl_map_read_from_str(ctx, str);
map2 = isl_map_union(map2, map1);
- map2 = isl_map_align_divs(map2);
+ map2 = isl_map_align_divs_internal(map2);
map2 = isl_map_coalesce(map2);
isl_map_free(map2);
if (!map2)
OpenPOWER on IntegriCloud