[polly] r298595 - Update to isl-0.18-402-ga30c537
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 23 06:38:24 PDT 2017
Author: grosser
Date: Thu Mar 23 08:38:24 2017
New Revision: 298595
URL: http://llvm.org/viewvc/llvm-project?rev=298595&view=rev
Log:
Update to isl-0.18-402-ga30c537
This is a regular maintenance update.
Modified:
polly/trunk/lib/External/isl/GIT_HEAD_ID
polly/trunk/lib/External/isl/doc/user.pod
polly/trunk/lib/External/isl/include/isl/vertices.h
polly/trunk/lib/External/isl/isl_map.c
polly/trunk/lib/External/isl/isl_morph.c
polly/trunk/lib/External/isl/isl_morph.h
polly/trunk/lib/External/isl/isl_polynomial.c
polly/trunk/lib/External/isl/isl_polynomial_private.h
polly/trunk/lib/External/isl/isl_vertices.c
Modified: polly/trunk/lib/External/isl/GIT_HEAD_ID
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/GIT_HEAD_ID?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/GIT_HEAD_ID (original)
+++ polly/trunk/lib/External/isl/GIT_HEAD_ID Thu Mar 23 08:38:24 2017
@@ -1 +1 @@
-isl-0.18-395-g77701b3
+isl-0.18-402-ga30c537
Modified: polly/trunk/lib/External/isl/doc/user.pod
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/user.pod?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/user.pod (original)
+++ polly/trunk/lib/External/isl/doc/user.pod Thu Mar 23 08:38:24 2017
@@ -7705,7 +7705,8 @@ the following.
int isl_vertices_get_n_vertices(
__isl_keep isl_vertices *vertices);
- void isl_vertices_free(__isl_take isl_vertices *vertices);
+ __isl_null isl_vertices *isl_vertices_free(
+ __isl_take isl_vertices *vertices);
Vertices can be inspected and destroyed using the following functions.
@@ -8725,9 +8726,12 @@ pairs of corresponding sink iterations a
To compute standard flow dependences, the sink should be
a read, while the sources should be writes.
If any of the source accesses are marked as being I<may>
-accesses, then there will be a dependence from the last
+accesses, then there will be a (may) dependence from the last
I<must> access B<and> from any I<may> access that follows
-this last I<must> access.
+this last I<must> access, but still precedes the sink access.
+Only dependences originating in a must access and without
+any may accesses between the must access and the sink access
+are considered to be must dependences.
In particular, if I<all> sources are I<may> accesses,
then memory based dependence analysis is performed.
If, on the other hand, all sources are I<must> accesses,
Modified: polly/trunk/lib/External/isl/include/isl/vertices.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/vertices.h?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/vertices.h (original)
+++ polly/trunk/lib/External/isl/include/isl/vertices.h Thu Mar 23 08:38:24 2017
@@ -29,7 +29,7 @@ isl_ctx *isl_vertices_get_ctx(__isl_keep
int isl_vertices_get_n_vertices(__isl_keep isl_vertices *vertices);
isl_stat isl_vertices_foreach_vertex(__isl_keep isl_vertices *vertices,
isl_stat (*fn)(__isl_take isl_vertex *vertex, void *user), void *user);
-void isl_vertices_free(__isl_take isl_vertices *vertices);
+__isl_null isl_vertices *isl_vertices_free(__isl_take isl_vertices *vertices);
isl_ctx *isl_cell_get_ctx(__isl_keep isl_cell *cell);
__isl_give isl_basic_set *isl_cell_get_domain(__isl_keep isl_cell *cell);
Modified: polly/trunk/lib/External/isl/isl_map.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_map.c?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map.c (original)
+++ polly/trunk/lib/External/isl/isl_map.c Thu Mar 23 08:38:24 2017
@@ -3938,6 +3938,8 @@ __isl_give isl_basic_map *isl_basic_map_
__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned first, unsigned n)
{
+ isl_bool empty;
+
if (n == 0)
return basic_map_space_reset(bmap, type);
if (type == isl_dim_div)
@@ -3945,6 +3947,12 @@ __isl_give isl_basic_map *isl_basic_map_
"cannot project out existentially quantified variables",
return isl_basic_map_free(bmap));
+ empty = isl_basic_map_plain_is_empty(bmap);
+ if (empty < 0)
+ return isl_basic_map_free(bmap);
+ if (empty)
+ bmap = isl_basic_map_set_to_empty(bmap);
+
bmap = drop_irrelevant_constraints(bmap, type, first, n);
if (!bmap)
return NULL;
Modified: polly/trunk/lib/External/isl/isl_morph.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_morph.c?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_morph.c (original)
+++ polly/trunk/lib/External/isl/isl_morph.c Thu Mar 23 08:38:24 2017
@@ -83,19 +83,21 @@ __isl_give isl_morph *isl_morph_cow(__is
return isl_morph_dup(morph);
}
-void isl_morph_free(__isl_take isl_morph *morph)
+__isl_null isl_morph *isl_morph_free(__isl_take isl_morph *morph)
{
if (!morph)
- return;
+ return NULL;
if (--morph->ref > 0)
- return;
+ return NULL;
isl_basic_set_free(morph->dom);
isl_basic_set_free(morph->ran);
isl_mat_free(morph->map);
isl_mat_free(morph->inv);
free(morph);
+
+ return NULL;
}
/* Is "morph" an identity on the parameters?
Modified: polly/trunk/lib/External/isl/isl_morph.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_morph.h?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_morph.h (original)
+++ polly/trunk/lib/External/isl/isl_morph.h Thu Mar 23 08:38:24 2017
@@ -42,7 +42,7 @@ __isl_give isl_morph *isl_morph_alloc(
__isl_take isl_mat *map, __isl_take isl_mat *inv);
__isl_give isl_morph *isl_morph_copy(__isl_keep isl_morph *morph);
__isl_give isl_morph *isl_morph_identity(__isl_keep isl_basic_set *bset);
-void isl_morph_free(__isl_take isl_morph *morph);
+__isl_null isl_morph *isl_morph_free(__isl_take isl_morph *morph);
__isl_give isl_space *isl_morph_get_dom_space(__isl_keep isl_morph *morph);
__isl_give isl_space *isl_morph_get_ran_space(__isl_keep isl_morph *morph);
Modified: polly/trunk/lib/External/isl/isl_polynomial.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_polynomial.c?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_polynomial.c (original)
+++ polly/trunk/lib/External/isl/isl_polynomial.c Thu Mar 23 08:38:24 2017
@@ -620,13 +620,13 @@ __isl_give struct isl_upoly *isl_upoly_c
return isl_upoly_dup(up);
}
-void isl_upoly_free(__isl_take struct isl_upoly *up)
+__isl_null struct isl_upoly *isl_upoly_free(__isl_take struct isl_upoly *up)
{
if (!up)
- return;
+ return NULL;
if (--up->ref > 0)
- return;
+ return NULL;
if (up->var < 0)
upoly_free_cst((struct isl_upoly_cst *)up);
@@ -635,6 +635,7 @@ void isl_upoly_free(__isl_take struct is
isl_ctx_deref(up->ctx);
free(up);
+ return NULL;
}
static void isl_upoly_cst_reduce(__isl_keep struct isl_upoly_cst *cst)
@@ -4566,6 +4567,9 @@ error:
* 0 if cst == 0
* 1 if cst == 1
* infinity if cst == -1
+ *
+ * If cst == -1, then explicitly check whether the domain is empty and,
+ * if so, return 0 instead.
*/
static __isl_give isl_pw_qpolynomial *constant_on_domain(
__isl_take isl_basic_set *bset, int cst)
@@ -4573,6 +4577,8 @@ static __isl_give isl_pw_qpolynomial *co
isl_space *dim;
isl_qpolynomial *qp;
+ if (cst < 0 && isl_basic_set_is_empty(bset) == isl_bool_true)
+ cst = 0;
if (!bset)
return NULL;
Modified: polly/trunk/lib/External/isl/isl_polynomial_private.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_polynomial_private.h?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_polynomial_private.h (original)
+++ polly/trunk/lib/External/isl/isl_polynomial_private.h Thu Mar 23 08:38:24 2017
@@ -102,7 +102,7 @@ __isl_give struct isl_upoly *isl_upoly_z
__isl_give struct isl_upoly *isl_upoly_copy(__isl_keep struct isl_upoly *up);
__isl_give struct isl_upoly *isl_upoly_cow(__isl_take struct isl_upoly *up);
__isl_give struct isl_upoly *isl_upoly_dup(__isl_keep struct isl_upoly *up);
-void isl_upoly_free(__isl_take struct isl_upoly *up);
+__isl_null struct isl_upoly *isl_upoly_free(__isl_take struct isl_upoly *up);
__isl_give struct isl_upoly *isl_upoly_mul(__isl_take struct isl_upoly *up1,
__isl_take struct isl_upoly *up2);
Modified: polly/trunk/lib/External/isl/isl_vertices.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_vertices.c?rev=298595&r1=298594&r2=298595&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_vertices.c (original)
+++ polly/trunk/lib/External/isl/isl_vertices.c Thu Mar 23 08:38:24 2017
@@ -35,15 +35,15 @@ __isl_give isl_vertices *isl_vertices_co
return vertices;
}
-void isl_vertices_free(__isl_take isl_vertices *vertices)
+__isl_null isl_vertices *isl_vertices_free(__isl_take isl_vertices *vertices)
{
int i;
if (!vertices)
- return;
+ return NULL;
if (--vertices->ref > 0)
- return;
+ return NULL;
for (i = 0; i < vertices->n_vertices; ++i) {
isl_basic_set_free(vertices->v[i].vertex);
@@ -59,6 +59,8 @@ void isl_vertices_free(__isl_take isl_ve
isl_basic_set_free(vertices->bset);
free(vertices);
+
+ return NULL;
}
struct isl_vertex_list {
@@ -66,7 +68,7 @@ struct isl_vertex_list {
struct isl_vertex_list *next;
};
-static void free_vertex_list(struct isl_vertex_list *list)
+static struct isl_vertex_list *free_vertex_list(struct isl_vertex_list *list)
{
struct isl_vertex_list *next;
@@ -76,6 +78,8 @@ static void free_vertex_list(struct isl_
isl_basic_set_free(list->v.dom);
free(list);
}
+
+ return NULL;
}
static __isl_give isl_vertices *vertices_from_list(__isl_keep isl_basic_set *bset,
More information about the llvm-commits
mailing list