[polly] r301624 - Update to isl-0.18-592-gb50ad59
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 27 23:11:18 PDT 2017
Author: grosser
Date: Fri Apr 28 01:11:17 2017
New Revision: 301624
URL: http://llvm.org/viewvc/llvm-project?rev=301624&view=rev
Log:
Update to isl-0.18-592-gb50ad59
This is just a general maintenance update.
Modified:
polly/trunk/lib/External/isl/GIT_HEAD_ID
polly/trunk/lib/External/isl/basis_reduction_templ.c
polly/trunk/lib/External/isl/doc/user.pod
polly/trunk/lib/External/isl/include/isl/constraint.h
polly/trunk/lib/External/isl/include/isl/map.h
polly/trunk/lib/External/isl/include/isl/mat.h
polly/trunk/lib/External/isl/include/isl/set.h
polly/trunk/lib/External/isl/include/isl/space.h
polly/trunk/lib/External/isl/isl_aff.c
polly/trunk/lib/External/isl/isl_affine_hull.c
polly/trunk/lib/External/isl/isl_coalesce.c
polly/trunk/lib/External/isl/isl_constraint.c
polly/trunk/lib/External/isl/isl_convex_hull.c
polly/trunk/lib/External/isl/isl_equalities.c
polly/trunk/lib/External/isl/isl_equalities.h
polly/trunk/lib/External/isl/isl_ilp.c
polly/trunk/lib/External/isl/isl_lp.c
polly/trunk/lib/External/isl/isl_map.c
polly/trunk/lib/External/isl/isl_map_private.h
polly/trunk/lib/External/isl/isl_map_simplify.c
polly/trunk/lib/External/isl/isl_mat.c
polly/trunk/lib/External/isl/isl_output.c
polly/trunk/lib/External/isl/isl_sample.c
polly/trunk/lib/External/isl/isl_sample.h
polly/trunk/lib/External/isl/isl_scheduler.c
polly/trunk/lib/External/isl/isl_space.c
polly/trunk/lib/External/isl/isl_tab_pip.c
polly/trunk/lib/External/isl/isl_test.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=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/GIT_HEAD_ID (original)
+++ polly/trunk/lib/External/isl/GIT_HEAD_ID Fri Apr 28 01:11:17 2017
@@ -1 +1 @@
-isl-0.18-423-g30331fe
+isl-0.18-592-gb50ad59
Modified: polly/trunk/lib/External/isl/basis_reduction_templ.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/basis_reduction_templ.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/basis_reduction_templ.c (original)
+++ polly/trunk/lib/External/isl/basis_reduction_templ.c Fri Apr 28 01:11:17 2017
@@ -314,7 +314,7 @@ error:
* basis with the equalities first. Otherwise, we start off with
* the identity matrix.
*/
-struct isl_mat *isl_basic_set_reduced_basis(struct isl_basic_set *bset)
+__isl_give isl_mat *isl_basic_set_reduced_basis(__isl_keep isl_basic_set *bset)
{
struct isl_mat *basis;
struct isl_tab *tab;
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=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/user.pod (original)
+++ polly/trunk/lib/External/isl/doc/user.pod Fri Apr 28 01:11:17 2017
@@ -1492,7 +1492,8 @@ using the following functions.
isl_bool isl_space_has_tuple_name(
__isl_keep isl_space *space,
enum isl_dim_type type);
- const char *isl_space_get_tuple_name(__isl_keep isl_space *space,
+ __isl_keep const char *isl_space_get_tuple_name(
+ __isl_keep isl_space *space,
enum isl_dim_type type);
#include <isl/local_space.h>
Modified: polly/trunk/lib/External/isl/include/isl/constraint.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/constraint.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/constraint.h (original)
+++ polly/trunk/lib/External/isl/include/isl/constraint.h Fri Apr 28 01:11:17 2017
@@ -121,8 +121,8 @@ isl_bool isl_constraint_is_upper_bound(_
__isl_give isl_basic_map *isl_basic_map_from_constraint(
__isl_take isl_constraint *constraint);
-struct isl_basic_set *isl_basic_set_from_constraint(
- struct isl_constraint *constraint);
+__isl_give isl_basic_set *isl_basic_set_from_constraint(
+ __isl_take isl_constraint *constraint);
__isl_give isl_aff *isl_constraint_get_bound(
__isl_keep isl_constraint *constraint, enum isl_dim_type type, int pos);
Modified: polly/trunk/lib/External/isl/include/isl/map.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/map.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/map.h (original)
+++ polly/trunk/lib/External/isl/include/isl/map.h Fri Apr 28 01:11:17 2017
@@ -50,16 +50,16 @@ ISL_DEPRECATED
unsigned isl_basic_map_n_param(__isl_keep const isl_basic_map *bmap);
ISL_DEPRECATED
unsigned isl_basic_map_n_div(__isl_keep const isl_basic_map *bmap);
-unsigned isl_basic_map_total_dim(const struct isl_basic_map *bmap);
+unsigned isl_basic_map_total_dim(__isl_keep const isl_basic_map *bmap);
unsigned isl_basic_map_dim(__isl_keep isl_basic_map *bmap,
enum isl_dim_type type);
ISL_DEPRECATED
-unsigned isl_map_n_in(const struct isl_map *map);
+unsigned isl_map_n_in(__isl_keep const isl_map *map);
ISL_DEPRECATED
-unsigned isl_map_n_out(const struct isl_map *map);
+unsigned isl_map_n_out(__isl_keep const isl_map *map);
ISL_DEPRECATED
-unsigned isl_map_n_param(const struct isl_map *map);
+unsigned isl_map_n_param(__isl_keep const isl_map *map);
unsigned isl_map_dim(__isl_keep isl_map *map, enum isl_dim_type type);
isl_ctx *isl_basic_map_get_ctx(__isl_keep isl_basic_map *bmap);
@@ -227,9 +227,9 @@ __isl_give isl_basic_map *isl_basic_map_
__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned pos, int value);
-struct isl_basic_map *isl_basic_map_sum(
- struct isl_basic_map *bmap1, struct isl_basic_map *bmap2);
-struct isl_basic_map *isl_basic_map_neg(struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_sum(__isl_take isl_basic_map *bmap1,
+ __isl_take isl_basic_map *bmap2);
+__isl_give isl_basic_map *isl_basic_map_neg(__isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_sum(__isl_take isl_map *map1,
__isl_take isl_map *map2);
Modified: polly/trunk/lib/External/isl/include/isl/mat.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/mat.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/mat.h (original)
+++ polly/trunk/lib/External/isl/include/isl/mat.h Fri Apr 28 01:11:17 2017
@@ -44,25 +44,29 @@ __isl_give isl_mat *isl_mat_set_element_
__isl_give isl_mat *isl_mat_set_element_val(__isl_take isl_mat *mat,
int row, int col, __isl_take isl_val *v);
-struct isl_mat *isl_mat_swap_cols(struct isl_mat *mat, unsigned i, unsigned j);
-struct isl_mat *isl_mat_swap_rows(struct isl_mat *mat, unsigned i, unsigned j);
-
-struct isl_vec *isl_mat_vec_product(struct isl_mat *mat, struct isl_vec *vec);
-struct isl_vec *isl_vec_mat_product(struct isl_vec *vec, struct isl_mat *mat);
+__isl_give isl_mat *isl_mat_swap_cols(__isl_take isl_mat *mat,
+ unsigned i, unsigned j);
+__isl_give isl_mat *isl_mat_swap_rows(__isl_take isl_mat *mat,
+ unsigned i, unsigned j);
+
+__isl_give isl_vec *isl_mat_vec_product(__isl_take isl_mat *mat,
+ __isl_take isl_vec *vec);
+__isl_give isl_vec *isl_vec_mat_product(__isl_take isl_vec *vec,
+ __isl_take isl_mat *mat);
__isl_give isl_vec *isl_mat_vec_inverse_product(__isl_take isl_mat *mat,
__isl_take isl_vec *vec);
-struct isl_mat *isl_mat_aff_direct_sum(struct isl_mat *left,
- struct isl_mat *right);
+__isl_give isl_mat *isl_mat_aff_direct_sum(__isl_take isl_mat *left,
+ __isl_take isl_mat *right);
__isl_give isl_mat *isl_mat_diagonal(__isl_take isl_mat *mat1,
__isl_take isl_mat *mat2);
-struct isl_mat *isl_mat_left_hermite(struct isl_mat *M,
- int neg, struct isl_mat **U, struct isl_mat **Q);
-struct isl_mat *isl_mat_lin_to_aff(struct isl_mat *mat);
-struct isl_mat *isl_mat_inverse_product(struct isl_mat *left,
- struct isl_mat *right);
+__isl_give isl_mat *isl_mat_left_hermite(__isl_take isl_mat *M, int neg,
+ __isl_give isl_mat **U, __isl_give isl_mat **Q);
+__isl_give isl_mat *isl_mat_lin_to_aff(__isl_take isl_mat *mat);
+__isl_give isl_mat *isl_mat_inverse_product(__isl_take isl_mat *left,
+ __isl_take isl_mat *right);
__isl_give isl_mat *isl_mat_product(__isl_take isl_mat *left,
__isl_take isl_mat *right);
-struct isl_mat *isl_mat_transpose(struct isl_mat *mat);
+__isl_give isl_mat *isl_mat_transpose(__isl_take isl_mat *mat);
__isl_give isl_mat *isl_mat_right_inverse(__isl_take isl_mat *mat);
__isl_give isl_mat *isl_mat_right_kernel(__isl_take isl_mat *mat);
@@ -89,7 +93,7 @@ __isl_give isl_mat *isl_mat_add_zero_row
void isl_mat_col_add(__isl_keep isl_mat *mat, int dst_col, int src_col);
-struct isl_mat *isl_mat_unimodular_complete(struct isl_mat *M, int row);
+__isl_give isl_mat *isl_mat_unimodular_complete(__isl_take isl_mat *M, int row);
__isl_give isl_mat *isl_mat_from_row_vec(__isl_take isl_vec *vec);
__isl_give isl_mat *isl_mat_concat(__isl_take isl_mat *top,
Modified: polly/trunk/lib/External/isl/include/isl/set.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/set.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/set.h (original)
+++ polly/trunk/lib/External/isl/include/isl/set.h Fri Apr 28 01:11:17 2017
@@ -25,7 +25,7 @@ extern "C" {
unsigned isl_basic_set_n_dim(__isl_keep isl_basic_set *bset);
unsigned isl_basic_set_n_param(__isl_keep isl_basic_set *bset);
-unsigned isl_basic_set_total_dim(const struct isl_basic_set *bset);
+unsigned isl_basic_set_total_dim(__isl_keep const isl_basic_set *bset);
unsigned isl_basic_set_dim(__isl_keep isl_basic_set *bset,
enum isl_dim_type type);
@@ -258,7 +258,7 @@ __isl_give isl_basic_set *isl_set_plain_
__isl_take isl_set *set);
__isl_give isl_basic_set *isl_set_unshifted_simple_hull_from_set_list(
__isl_take isl_set *set, __isl_take isl_set_list *list);
-struct isl_basic_set *isl_set_bounded_simple_hull(struct isl_set *set);
+__isl_give isl_basic_set *isl_set_bounded_simple_hull(__isl_take isl_set *set);
struct isl_set *isl_set_union_disjoint(
struct isl_set *set1, struct isl_set *set2);
Modified: polly/trunk/lib/External/isl/include/isl/space.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/space.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/space.h (original)
+++ polly/trunk/lib/External/isl/include/isl/space.h Fri Apr 28 01:11:17 2017
@@ -48,7 +48,7 @@ __isl_give isl_space *isl_space_set_tupl
enum isl_dim_type type, const char *s);
isl_bool isl_space_has_tuple_name(__isl_keep isl_space *space,
enum isl_dim_type type);
-const char *isl_space_get_tuple_name(__isl_keep isl_space *dim,
+__isl_keep const char *isl_space_get_tuple_name(__isl_keep isl_space *dim,
enum isl_dim_type type);
__isl_give isl_space *isl_space_set_tuple_id(__isl_take isl_space *dim,
enum isl_dim_type type, __isl_take isl_id *id);
@@ -108,7 +108,7 @@ __isl_give isl_space *isl_space_range_fa
__isl_take isl_space *space);
__isl_give isl_space *isl_space_range_factor_range(
__isl_take isl_space *space);
-__isl_give isl_space *isl_space_map_from_set(__isl_take isl_space *dim);
+__isl_give isl_space *isl_space_map_from_set(__isl_take isl_space *space);
__isl_give isl_space *isl_space_map_from_domain_and_range(
__isl_take isl_space *domain, __isl_take isl_space *range);
__isl_give isl_space *isl_space_reverse(__isl_take isl_space *dim);
Modified: polly/trunk/lib/External/isl/isl_aff.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_aff.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_aff.c (original)
+++ polly/trunk/lib/External/isl/isl_aff.c Fri Apr 28 01:11:17 2017
@@ -7061,7 +7061,7 @@ __isl_give isl_map *isl_multi_pw_aff_eq_
* pairwise equal.
*/
static __isl_give isl_map *isl_multi_pw_aff_lex_map_on_space(
- __isl_take isl_multi_pw_aff *mpa1, __isl_take isl_multi_pw_aff *mpa2,
+ __isl_keep isl_multi_pw_aff *mpa1, __isl_keep isl_multi_pw_aff *mpa2,
__isl_give isl_map *(*base)(__isl_take isl_pw_aff *pa1,
__isl_take isl_pw_aff *pa2),
__isl_take isl_space *space)
@@ -7106,7 +7106,7 @@ static __isl_give isl_map *isl_multi_pw_
* pairwise equal.
*/
__isl_give isl_map *isl_multi_pw_aff_lex_lt_map_on_space(
- __isl_take isl_multi_pw_aff *mpa1, __isl_take isl_multi_pw_aff *mpa2,
+ __isl_keep isl_multi_pw_aff *mpa1, __isl_keep isl_multi_pw_aff *mpa2,
__isl_take isl_space *space)
{
return isl_multi_pw_aff_lex_map_on_space(mpa1, mpa2,
@@ -7134,7 +7134,7 @@ __isl_give isl_map *isl_multi_pw_aff_lex
* pairwise equal.
*/
__isl_give isl_map *isl_multi_pw_aff_lex_gt_map_on_space(
- __isl_take isl_multi_pw_aff *mpa1, __isl_take isl_multi_pw_aff *mpa2,
+ __isl_keep isl_multi_pw_aff *mpa1, __isl_keep isl_multi_pw_aff *mpa2,
__isl_take isl_space *space)
{
return isl_multi_pw_aff_lex_map_on_space(mpa1, mpa2,
Modified: polly/trunk/lib/External/isl/isl_affine_hull.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_affine_hull.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_affine_hull.c (original)
+++ polly/trunk/lib/External/isl/isl_affine_hull.c Fri Apr 28 01:11:17 2017
@@ -29,8 +29,8 @@
#include <set_to_map.c>
#include <set_from_map.c>
-struct isl_basic_map *isl_basic_map_implicit_equalities(
- struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_implicit_equalities(
+ __isl_take isl_basic_map *bmap)
{
struct isl_tab *tab;
@@ -297,7 +297,8 @@ error:
return NULL;
}
-struct isl_basic_set *isl_basic_set_recession_cone(struct isl_basic_set *bset)
+__isl_give isl_basic_set *isl_basic_set_recession_cone(
+ __isl_take isl_basic_set *bset)
{
int i;
@@ -871,8 +872,8 @@ error:
/* Detect and make explicit all equalities satisfied by the (integer)
* points in bmap.
*/
-struct isl_basic_map *isl_basic_map_detect_equalities(
- struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_detect_equalities(
+ __isl_take isl_basic_map *bmap)
{
int i, j;
struct isl_basic_set *hull = NULL;
@@ -960,7 +961,8 @@ __isl_give isl_basic_set *isl_basic_set_
* equalities), we compute the additional equalities satisfied by
* the integer points (if any) and add the original equalities back in.
*/
-struct isl_basic_map *isl_basic_map_affine_hull(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_affine_hull(
+ __isl_take isl_basic_map *bmap)
{
bmap = isl_basic_map_detect_equalities(bmap);
bmap = isl_basic_map_plain_affine_hull(bmap);
Modified: polly/trunk/lib/External/isl/isl_coalesce.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_coalesce.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_coalesce.c (original)
+++ polly/trunk/lib/External/isl/isl_coalesce.c Fri Apr 28 01:11:17 2017
@@ -3746,7 +3746,7 @@ static __isl_give isl_map *update_basic_
* For each basic map, we also compute the hash of the apparent affine hull
* for use in coalesce.
*/
-struct isl_map *isl_map_coalesce(struct isl_map *map)
+__isl_give isl_map *isl_map_coalesce(__isl_take isl_map *map)
{
int i;
unsigned n;
Modified: polly/trunk/lib/External/isl/isl_constraint.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_constraint.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_constraint.c (original)
+++ polly/trunk/lib/External/isl/isl_constraint.c Fri Apr 28 01:11:17 2017
@@ -762,8 +762,8 @@ error:
return NULL;
}
-struct isl_basic_set *isl_basic_set_from_constraint(
- struct isl_constraint *constraint)
+__isl_give isl_basic_set *isl_basic_set_from_constraint(
+ __isl_take isl_constraint *constraint)
{
if (!constraint)
return NULL;
Modified: polly/trunk/lib/External/isl/isl_convex_hull.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_convex_hull.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_convex_hull.c (original)
+++ polly/trunk/lib/External/isl/isl_convex_hull.c Fri Apr 28 01:11:17 2017
@@ -27,7 +27,8 @@
#include <bset_from_bmap.c>
#include <set_to_map.c>
-static struct isl_basic_set *uset_convex_hull_wrap_bounded(struct isl_set *set);
+static __isl_give isl_basic_set *uset_convex_hull_wrap_bounded(
+ __isl_take isl_set *set);
/* Remove redundant
* constraints. If the minimal value along the normal of a constraint
@@ -112,7 +113,7 @@ __isl_give isl_set *isl_set_remove_redun
* constraint c and if so, set the constant term such that the
* resulting constraint is a bounding constraint for the set.
*/
-static int uset_is_bound(struct isl_set *set, isl_int *c, unsigned len)
+static int uset_is_bound(__isl_keep isl_set *set, isl_int *c, unsigned len)
{
int first;
int j;
@@ -183,7 +184,8 @@ error:
return NULL;
}
-static struct isl_set *isl_set_add_basic_set_equality(struct isl_set *set, isl_int *c)
+static __isl_give isl_set *isl_set_add_basic_set_equality(
+ __isl_take isl_set *set, isl_int *c)
{
int i;
@@ -218,7 +220,7 @@ error:
*
* \sum_i x_{i,1} = 1
*/
-static struct isl_basic_set *wrap_constraints(struct isl_set *set)
+static __isl_give isl_basic_set *wrap_constraints(__isl_keep isl_set *set)
{
struct isl_basic_set *lp;
unsigned n_eq;
@@ -498,7 +500,8 @@ error:
* After computing the facets of the facet in the z' space,
* we convert them back to the x space through Q.
*/
-static struct isl_basic_set *compute_facet(struct isl_set *set, isl_int *c)
+static __isl_give isl_basic_set *compute_facet(__isl_keep isl_set *set,
+ isl_int *c)
{
struct isl_mat *m, *U, *Q;
struct isl_basic_set *facet = NULL;
@@ -552,8 +555,8 @@ error:
* using the technique in section "3.1 Ridge Generation" of
* "Extended Convex Hull" by Fukuda et al.
*/
-static struct isl_basic_set *extend(struct isl_basic_set *hull,
- struct isl_set *set)
+static __isl_give isl_basic_set *extend(__isl_take isl_basic_set *hull,
+ __isl_keep isl_set *set)
{
int i, j, f;
int k;
@@ -615,7 +618,7 @@ error:
* We simply collect the lower and upper bounds of each basic set
* and the biggest of those.
*/
-static struct isl_basic_set *convex_hull_1d(struct isl_set *set)
+static __isl_give isl_basic_set *convex_hull_1d(__isl_take isl_set *set)
{
struct isl_mat *c = NULL;
isl_int *lower = NULL;
@@ -735,7 +738,7 @@ error:
return NULL;
}
-static struct isl_basic_set *convex_hull_0d(struct isl_set *set)
+static __isl_give isl_basic_set *convex_hull_0d(__isl_take isl_set *set)
{
struct isl_basic_set *convex_hull;
@@ -759,8 +762,8 @@ static struct isl_basic_set *convex_hull
* to the two original basic sets, retaining only those corresponding
* to the convex hull.
*/
-static struct isl_basic_set *convex_hull_pair_elim(struct isl_basic_set *bset1,
- struct isl_basic_set *bset2)
+static __isl_give isl_basic_set *convex_hull_pair_elim(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
int i, j, k;
struct isl_basic_set *bset[2];
@@ -883,8 +886,8 @@ isl_bool isl_set_is_bounded(__isl_keep i
* with the negative of the recession cone of bset2 and then compute
* the linear hull of the resulting cone.
*/
-static struct isl_basic_set *induced_lineality_space(
- struct isl_basic_set *bset1, struct isl_basic_set *bset2)
+static __isl_give isl_basic_set *induced_lineality_space(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
int i, k;
struct isl_basic_set *lin = NULL;
@@ -939,7 +942,7 @@ error:
return NULL;
}
-static struct isl_basic_set *uset_convex_hull(struct isl_set *set);
+static __isl_give isl_basic_set *uset_convex_hull(__isl_take isl_set *set);
/* Given a set and a linear space "lin" of dimension n > 0,
* project the linear space from the set, compute the convex hull
@@ -961,8 +964,8 @@ static struct isl_basic_set *uset_convex
* we transform the hull back to the original space as A' Q_1 x >= b',
* with Q_1 all but the last n rows of Q.
*/
-static struct isl_basic_set *modulo_lineality(struct isl_set *set,
- struct isl_basic_set *lin)
+static __isl_give isl_basic_set *modulo_lineality(__isl_take isl_set *set,
+ __isl_take isl_basic_set *lin)
{
unsigned total = isl_basic_set_total_dim(lin);
unsigned lin_dim;
@@ -1005,8 +1008,8 @@ error:
* The next \alpha{ij} correspond to the equalities and come in pairs.
* The final \alpha{ij} correspond to the inequalities.
*/
-static struct isl_basic_set *valid_direction_lp(
- struct isl_basic_set *bset1, struct isl_basic_set *bset2)
+static __isl_give isl_basic_set *valid_direction_lp(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
isl_space *dim;
struct isl_basic_set *lp;
@@ -1086,8 +1089,8 @@ error:
* Note that we simply pick any valid direction and make no attempt
* to pick a "good" or even the "best" valid direction.
*/
-static struct isl_vec *valid_direction(
- struct isl_basic_set *bset1, struct isl_basic_set *bset2)
+static __isl_give isl_vec *valid_direction(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
struct isl_basic_set *lp;
struct isl_tab *tab;
@@ -1149,8 +1152,8 @@ error:
* In particular, add the "positivity constraint" and then perform
* the mapping.
*/
-static struct isl_basic_set *homogeneous_map(struct isl_basic_set *bset,
- struct isl_mat *T)
+static __isl_give isl_basic_set *homogeneous_map(__isl_take isl_basic_set *bset,
+ __isl_take isl_mat *T)
{
int k;
@@ -1229,8 +1232,8 @@ error:
*
* The polyhedron b + A x >= 0 is then the convex hull of the input polyhedra.
*/
-static struct isl_basic_set *convex_hull_pair_pointed(
- struct isl_basic_set *bset1, struct isl_basic_set *bset2)
+static __isl_give isl_basic_set *convex_hull_pair_pointed(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
struct isl_ctx *ctx = NULL;
struct isl_vec *dir = NULL;
@@ -1271,9 +1274,9 @@ error:
return NULL;
}
-static struct isl_basic_set *uset_convex_hull_wrap(struct isl_set *set);
-static struct isl_basic_set *modulo_affine_hull(
- struct isl_set *set, struct isl_basic_set *affine_hull);
+static __isl_give isl_basic_set *uset_convex_hull_wrap(__isl_take isl_set *set);
+static __isl_give isl_basic_set *modulo_affine_hull(
+ __isl_take isl_set *set, __isl_take isl_basic_set *affine_hull);
/* Compute the convex hull of a pair of basic sets without any parameters or
* integer divisions.
@@ -1288,8 +1291,8 @@ static struct isl_basic_set *modulo_affi
* If the convex hull of the two basic sets would have a non-trivial
* lineality space, we first project out this lineality space.
*/
-static struct isl_basic_set *convex_hull_pair(struct isl_basic_set *bset1,
- struct isl_basic_set *bset2)
+static __isl_give isl_basic_set *convex_hull_pair(
+ __isl_take isl_basic_set *bset1, __isl_take isl_basic_set *bset2)
{
isl_basic_set *lin, *aff;
int bounded1, bounded2;
@@ -1347,7 +1350,8 @@ error:
* We basically just drop the constants and turn every inequality
* into an equality.
*/
-struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset)
+__isl_give isl_basic_set *isl_basic_set_lineality_space(
+ __isl_take isl_basic_set *bset)
{
int i, k;
struct isl_basic_set *lin = NULL;
@@ -1392,7 +1396,8 @@ error:
/* Compute the (linear) hull of the lineality spaces of the basic sets in the
* "underlying" set "set".
*/
-static struct isl_basic_set *uset_combined_lineality_space(struct isl_set *set)
+static __isl_give isl_basic_set *uset_combined_lineality_space(
+ __isl_take isl_set *set)
{
int i;
struct isl_set *lin = NULL;
@@ -1400,9 +1405,9 @@ static struct isl_basic_set *uset_combin
if (!set)
return NULL;
if (set->n == 0) {
- isl_space *dim = isl_set_get_space(set);
+ isl_space *space = isl_set_get_space(set);
isl_set_free(set);
- return isl_basic_set_empty(dim);
+ return isl_basic_set_empty(space);
}
lin = isl_set_alloc_space(isl_set_get_space(set), set->n, 0);
@@ -1475,8 +1480,8 @@ error:
* facet.
* This function assumes that the given set is bounded.
*/
-static struct isl_basic_set *initial_hull(struct isl_basic_set *hull,
- struct isl_set *set)
+static __isl_give isl_basic_set *initial_hull(__isl_take isl_basic_set *hull,
+ __isl_keep isl_set *set)
{
struct isl_mat *bounds = NULL;
unsigned dim;
@@ -1577,8 +1582,8 @@ static int has_constraint(struct isl_ctx
* all other basic sets and is therefore the convex hull of set.
* In this case we set *is_hull to 1.
*/
-static struct isl_basic_set *common_constraints(struct isl_basic_set *hull,
- struct isl_set *set, int *is_hull)
+static __isl_give isl_basic_set *common_constraints(
+ __isl_take isl_basic_set *hull, __isl_keep isl_set *set, int *is_hull)
{
int i, j, s, n;
int min_constraints;
@@ -1698,7 +1703,8 @@ error:
* obvious facet constraints, if any. If the result happens to
* be the convex hull of "set" then *is_hull is set to 1.
*/
-static struct isl_basic_set *proto_hull(struct isl_set *set, int *is_hull)
+static __isl_give isl_basic_set *proto_hull(__isl_keep isl_set *set,
+ int *is_hull)
{
struct isl_basic_set *hull;
unsigned n_ineq;
@@ -1716,7 +1722,7 @@ static struct isl_basic_set *proto_hull(
return common_constraints(hull, set, is_hull);
}
-static struct isl_basic_set *uset_convex_hull_wrap(struct isl_set *set)
+static __isl_give isl_basic_set *uset_convex_hull_wrap(__isl_take isl_set *set)
{
struct isl_basic_set *hull;
int is_hull;
@@ -1738,7 +1744,7 @@ static struct isl_basic_set *uset_convex
* the Fourier-Motzkin elimination based convex hull.
* We also handle a few special cases before checking the boundedness.
*/
-static struct isl_basic_set *uset_convex_hull(struct isl_set *set)
+static __isl_give isl_basic_set *uset_convex_hull(__isl_take isl_set *set)
{
isl_bool bounded;
struct isl_basic_set *convex_hull = NULL;
@@ -1788,7 +1794,8 @@ error:
* without parameters or divs and where the convex hull of set is
* known to be full-dimensional.
*/
-static struct isl_basic_set *uset_convex_hull_wrap_bounded(struct isl_set *set)
+static __isl_give isl_basic_set *uset_convex_hull_wrap_bounded(
+ __isl_take isl_set *set)
{
struct isl_basic_set *convex_hull = NULL;
@@ -1826,8 +1833,8 @@ error:
* convex hull of the transformed set and then add the equalities back
* (after performing the inverse transformation.
*/
-static struct isl_basic_set *modulo_affine_hull(
- struct isl_set *set, struct isl_basic_set *affine_hull)
+static __isl_give isl_basic_set *modulo_affine_hull(
+ __isl_take isl_set *set, __isl_take isl_basic_set *affine_hull)
{
struct isl_mat *T;
struct isl_mat *T2;
@@ -1867,7 +1874,7 @@ static __isl_give isl_basic_map *replace
* The implementation was inspired by "Extended Convex Hull" by Fukuda et al.,
* specifically, the wrapping of facets to obtain new facets.
*/
-struct isl_basic_map *isl_map_convex_hull(struct isl_map *map)
+__isl_give isl_basic_map *isl_map_convex_hull(__isl_take isl_map *map)
{
struct isl_basic_set *bset;
struct isl_basic_map *model = NULL;
@@ -2001,7 +2008,7 @@ static int hash_ineq(struct isl_ctx *ctx
* The value in the hash table is a pointer to the (in)equality of "bset".
*/
static int hash_basic_set(struct isl_hash_table *table,
- struct isl_basic_set *bset)
+ __isl_keep isl_basic_set *bset)
{
int i, j;
unsigned dim = isl_basic_set_total_dim(bset);
@@ -2020,7 +2027,7 @@ static int hash_basic_set(struct isl_has
return 0;
}
-static struct sh_data *sh_data_alloc(struct isl_set *set, unsigned n_ineq)
+static struct sh_data *sh_data_alloc(__isl_keep isl_set *set, unsigned n_ineq)
{
struct sh_data *data;
int i;
@@ -2059,7 +2066,7 @@ error:
* 0 if "ineq" may attain arbitrarily small values on basic set "j"
* -1 if some error occurred
*/
-static int is_bound(struct sh_data *data, struct isl_set *set, int j,
+static int is_bound(struct sh_data *data, __isl_keep isl_set *set, int j,
isl_int *ineq, int shift)
{
enum isl_lp_result res;
@@ -2150,8 +2157,8 @@ static void set_max_constant_term(struct
* translate and the inequality is therefore known to be a bound
* of this basic set.
*/
-static struct isl_basic_set *add_bound(struct isl_basic_set *hull,
- struct sh_data *data, struct isl_set *set, int i, isl_int *ineq,
+static __isl_give isl_basic_set *add_bound(__isl_take isl_basic_set *hull,
+ struct sh_data *data, __isl_keep isl_set *set, int i, isl_int *ineq,
int shift)
{
uint32_t c_hash;
@@ -2232,8 +2239,8 @@ error:
* become a bound on the whole set. If so, add the (relaxed) inequality
* to "hull". Relaxation is only allowed if "shift" is set.
*/
-static struct isl_basic_set *add_bounds(struct isl_basic_set *bset,
- struct sh_data *data, struct isl_set *set, int i, int shift)
+static __isl_give isl_basic_set *add_bounds(__isl_take isl_basic_set *bset,
+ struct sh_data *data, __isl_keep isl_set *set, int i, int shift)
{
int j, k;
unsigned dim = isl_basic_set_total_dim(bset);
@@ -2981,7 +2988,7 @@ static struct isl_basic_set *set_bounds(
* resulting hull is bounded by a symbolic constant. If not, the
* hull is intersected with the corresponding bounds on the whole set.
*/
-struct isl_basic_set *isl_set_bounded_simple_hull(struct isl_set *set)
+__isl_give isl_basic_set *isl_set_bounded_simple_hull(__isl_take isl_set *set)
{
int i, j;
struct isl_basic_set *hull;
Modified: polly/trunk/lib/External/isl/isl_equalities.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_equalities.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_equalities.c (original)
+++ polly/trunk/lib/External/isl/isl_equalities.c Fri Apr 28 01:11:17 2017
@@ -305,8 +305,8 @@ error:
* as any y = y_0 + G y' with y' integer is a solution to the original
* modulo constraints.
*/
-struct isl_mat *isl_mat_parameter_compression(
- struct isl_mat *B, struct isl_vec *d)
+__isl_give isl_mat *isl_mat_parameter_compression(__isl_take isl_mat *B,
+ __isl_take isl_vec *d)
{
int i;
struct isl_mat *cst = NULL;
Modified: polly/trunk/lib/External/isl/isl_equalities.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_equalities.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_equalities.h (original)
+++ polly/trunk/lib/External/isl/isl_equalities.h Fri Apr 28 01:11:17 2017
@@ -21,8 +21,8 @@ __isl_give isl_mat *isl_mat_final_variab
int first, __isl_give isl_mat **T2);
__isl_give isl_mat *isl_mat_variable_compression(__isl_take isl_mat *B,
__isl_give isl_mat **T2);
-struct isl_mat *isl_mat_parameter_compression(
- struct isl_mat *B, struct isl_vec *d);
+__isl_give isl_mat *isl_mat_parameter_compression(__isl_take isl_mat *B,
+ __isl_take isl_vec *d);
__isl_give isl_mat *isl_mat_parameter_compression_ext(__isl_take isl_mat *B,
__isl_take isl_mat *A);
struct isl_basic_set *isl_basic_set_remove_equalities(
Modified: polly/trunk/lib/External/isl/isl_ilp.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_ilp.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_ilp.c (original)
+++ polly/trunk/lib/External/isl/isl_ilp.c Fri Apr 28 01:11:17 2017
@@ -32,7 +32,8 @@
* term. This ensures that if x satisfies the resulting constraints,
* then x plus any sum of unit vectors satisfies the original constraints.
*/
-static struct isl_basic_set *unit_box_base_points(struct isl_basic_set *bset)
+static __isl_give isl_basic_set *unit_box_base_points(
+ __isl_take isl_basic_set *bset)
{
int i, j, k;
struct isl_basic_set *unit_box = NULL;
@@ -80,7 +81,8 @@ error:
* and round it up to the nearest integer.
* If not, we simply pick any integer point in "bset".
*/
-static struct isl_vec *initial_solution(struct isl_basic_set *bset, isl_int *f)
+static __isl_give isl_vec *initial_solution(__isl_keep isl_basic_set *bset,
+ isl_int *f)
{
enum isl_lp_result res;
struct isl_basic_set *unit_box;
@@ -102,7 +104,7 @@ static struct isl_vec *initial_solution(
/* Restrict "bset" to those points with values for f in the interval [l, u].
*/
-static struct isl_basic_set *add_bounds(struct isl_basic_set *bset,
+static __isl_give isl_basic_set *add_bounds(__isl_take isl_basic_set *bset,
isl_int *f, isl_int l, isl_int u)
{
int k;
@@ -145,8 +147,8 @@ error:
* If no point can be found, we update l to the upper bound of the interval
* we checked (u or l+floor(u-l-1/2)) plus 1.
*/
-static struct isl_vec *solve_ilp_search(struct isl_basic_set *bset,
- isl_int *f, isl_int *opt, struct isl_vec *sol, isl_int l, isl_int u)
+static __isl_give isl_vec *solve_ilp_search(__isl_keep isl_basic_set *bset,
+ isl_int *f, isl_int *opt, __isl_take isl_vec *sol, isl_int l, isl_int u)
{
isl_int tmp;
int divide = 1;
@@ -204,9 +206,8 @@ static struct isl_vec *solve_ilp_search(
*
* We then call solve_ilp_search to perform a binary search on the interval.
*/
-static enum isl_lp_result solve_ilp(struct isl_basic_set *bset,
- isl_int *f, isl_int *opt,
- struct isl_vec **sol_p)
+static enum isl_lp_result solve_ilp(__isl_keep isl_basic_set *bset,
+ isl_int *f, isl_int *opt, __isl_give isl_vec **sol_p)
{
enum isl_lp_result res;
isl_int l, u;
@@ -260,9 +261,8 @@ static enum isl_lp_result solve_ilp(stru
return res;
}
-static enum isl_lp_result solve_ilp_with_eq(struct isl_basic_set *bset, int max,
- isl_int *f, isl_int *opt,
- struct isl_vec **sol_p)
+static enum isl_lp_result solve_ilp_with_eq(__isl_keep isl_basic_set *bset,
+ int max, isl_int *f, isl_int *opt, __isl_give isl_vec **sol_p)
{
unsigned dim;
enum isl_lp_result res;
@@ -303,9 +303,8 @@ error:
* If there is any equality among the points in "bset", then we first
* project it out. Otherwise, we continue with solve_ilp above.
*/
-enum isl_lp_result isl_basic_set_solve_ilp(struct isl_basic_set *bset, int max,
- isl_int *f, isl_int *opt,
- struct isl_vec **sol_p)
+enum isl_lp_result isl_basic_set_solve_ilp(__isl_keep isl_basic_set *bset,
+ int max, isl_int *f, isl_int *opt, __isl_give isl_vec **sol_p)
{
unsigned dim;
enum isl_lp_result res;
Modified: polly/trunk/lib/External/isl/isl_lp.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_lp.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_lp.c (original)
+++ polly/trunk/lib/External/isl/isl_lp.c Fri Apr 28 01:11:17 2017
@@ -22,10 +22,9 @@
#include <bset_to_bmap.c>
#include <set_to_map.c>
-enum isl_lp_result isl_tab_solve_lp(struct isl_basic_map *bmap, int maximize,
- isl_int *f, isl_int denom, isl_int *opt,
- isl_int *opt_denom,
- struct isl_vec **sol)
+enum isl_lp_result isl_tab_solve_lp(__isl_keep isl_basic_map *bmap,
+ int maximize, isl_int *f, isl_int denom, isl_int *opt,
+ isl_int *opt_denom, __isl_give isl_vec **sol)
{
struct isl_tab *tab;
enum isl_lp_result res;
@@ -62,10 +61,9 @@ enum isl_lp_result isl_tab_solve_lp(stru
* The return value reflects the nature of the result (empty, unbounded,
* minimal or maximal value returned in *opt).
*/
-enum isl_lp_result isl_basic_map_solve_lp(struct isl_basic_map *bmap, int max,
- isl_int *f, isl_int d, isl_int *opt,
- isl_int *opt_denom,
- struct isl_vec **sol)
+enum isl_lp_result isl_basic_map_solve_lp(__isl_keep isl_basic_map *bmap,
+ int max, isl_int *f, isl_int d, isl_int *opt, isl_int *opt_denom,
+ __isl_give isl_vec **sol)
{
if (sol)
*sol = NULL;
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=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map.c (original)
+++ polly/trunk/lib/External/isl/isl_map.c Fri Apr 28 01:11:17 2017
@@ -125,13 +125,13 @@ unsigned isl_basic_map_offset(struct isl
}
}
-unsigned isl_basic_set_offset(struct isl_basic_set *bset,
+unsigned isl_basic_set_offset(__isl_keep isl_basic_set *bset,
enum isl_dim_type type)
{
return isl_basic_map_offset(bset, type);
}
-static unsigned map_offset(struct isl_map *map, enum isl_dim_type type)
+static unsigned map_offset(__isl_keep isl_map *map, enum isl_dim_type type)
{
return pos(map->dim, type);
}
@@ -152,7 +152,7 @@ unsigned isl_basic_set_n_param(__isl_kee
return isl_basic_set_dim(bset, isl_dim_param);
}
-unsigned isl_basic_set_total_dim(const struct isl_basic_set *bset)
+unsigned isl_basic_set_total_dim(__isl_keep const isl_basic_set *bset)
{
if (!bset)
return 0;
@@ -189,22 +189,22 @@ unsigned isl_basic_map_n_div(__isl_keep
return bmap ? bmap->n_div : 0;
}
-unsigned isl_basic_map_total_dim(const struct isl_basic_map *bmap)
+unsigned isl_basic_map_total_dim(__isl_keep const isl_basic_map *bmap)
{
return bmap ? isl_space_dim(bmap->dim, isl_dim_all) + bmap->n_div : 0;
}
-unsigned isl_map_n_in(const struct isl_map *map)
+unsigned isl_map_n_in(__isl_keep const isl_map *map)
{
return map ? map->dim->n_in : 0;
}
-unsigned isl_map_n_out(const struct isl_map *map)
+unsigned isl_map_n_out(__isl_keep const isl_map *map)
{
return map ? map->dim->n_out : 0;
}
-unsigned isl_map_n_param(const struct isl_map *map)
+unsigned isl_map_n_param(__isl_keep const isl_map *map)
{
return map ? map->dim->nparam : 0;
}
@@ -1207,7 +1207,7 @@ static void dup_constraints(
ISL_F_SET(dst, ISL_BASIC_SET_FINAL);
}
-struct isl_basic_map *isl_basic_map_dup(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_dup(__isl_keep isl_basic_map *bmap)
{
struct isl_basic_map *dup;
@@ -1231,7 +1231,7 @@ struct isl_basic_set *isl_basic_set_dup(
return bset_from_bmap(dup);
}
-struct isl_basic_set *isl_basic_set_copy(struct isl_basic_set *bset)
+__isl_give isl_basic_set *isl_basic_set_copy(__isl_keep isl_basic_set *bset)
{
if (!bset)
return NULL;
@@ -1243,7 +1243,7 @@ struct isl_basic_set *isl_basic_set_copy
return isl_basic_set_dup(bset);
}
-struct isl_set *isl_set_copy(struct isl_set *set)
+__isl_give isl_set *isl_set_copy(__isl_keep isl_set *set)
{
if (!set)
return NULL;
@@ -1252,7 +1252,7 @@ struct isl_set *isl_set_copy(struct isl_
return set;
}
-struct isl_basic_map *isl_basic_map_copy(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_copy(__isl_keep isl_basic_map *bmap)
{
if (!bmap)
return NULL;
@@ -1267,7 +1267,7 @@ struct isl_basic_map *isl_basic_map_copy
return bmap;
}
-struct isl_map *isl_map_copy(struct isl_map *map)
+__isl_give isl_map *isl_map_copy(__isl_keep isl_map *map)
{
if (!map)
return NULL;
@@ -1475,7 +1475,7 @@ static int room_for_ineq(struct isl_basi
return bmap->n_ineq + n <= bmap->eq - bmap->ineq;
}
-int isl_basic_map_alloc_inequality(struct isl_basic_map *bmap)
+int isl_basic_map_alloc_inequality(__isl_keep isl_basic_map *bmap)
{
struct isl_ctx *ctx;
if (!bmap)
@@ -1492,7 +1492,7 @@ int isl_basic_map_alloc_inequality(struc
return bmap->n_ineq++;
}
-int isl_basic_set_alloc_inequality(struct isl_basic_set *bset)
+int isl_basic_set_alloc_inequality(__isl_keep isl_basic_set *bset)
{
return isl_basic_map_alloc_inequality(bset_to_bmap(bset));
}
@@ -1712,8 +1712,9 @@ static void copy_div(struct isl_basic_ma
copy_constraint(dst_map, dst+1, src_map, src+1, in_off, out_off, div_off);
}
-static struct isl_basic_map *add_constraints(struct isl_basic_map *bmap1,
- struct isl_basic_map *bmap2, unsigned i_pos, unsigned o_pos)
+static __isl_give isl_basic_map *add_constraints(
+ __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2,
+ unsigned i_pos, unsigned o_pos)
{
int i;
unsigned div_off;
@@ -1764,9 +1765,9 @@ struct isl_basic_set *isl_basic_set_add_
bset_to_bmap(bset2), 0, pos));
}
-struct isl_basic_map *isl_basic_map_extend_space(struct isl_basic_map *base,
- __isl_take isl_space *dim, unsigned extra,
- unsigned n_eq, unsigned n_ineq)
+__isl_give isl_basic_map *isl_basic_map_extend_space(
+ __isl_take isl_basic_map *base, __isl_take isl_space *dim,
+ unsigned extra, unsigned n_eq, unsigned n_ineq)
{
struct isl_basic_map *ext;
unsigned flags;
@@ -1869,12 +1870,12 @@ struct isl_basic_set *isl_basic_set_exte
return bset_from_bmap(bmap);
}
-struct isl_basic_set *isl_basic_set_cow(struct isl_basic_set *bset)
+__isl_give isl_basic_set *isl_basic_set_cow(__isl_take isl_basic_set *bset)
{
return bset_from_bmap(isl_basic_map_cow(bset_to_bmap(bset)));
}
-struct isl_basic_map *isl_basic_map_cow(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_cow(__isl_take isl_basic_map *bmap)
{
if (!bmap)
return NULL;
@@ -1904,7 +1905,7 @@ static __isl_give isl_map *clear_caches(
return map;
}
-struct isl_set *isl_set_cow(struct isl_set *set)
+__isl_give isl_set *isl_set_cow(__isl_take isl_set *set)
{
return isl_map_cow(set);
}
@@ -1919,7 +1920,7 @@ struct isl_set *isl_set_cow(struct isl_s
*
* Otherwise, create a duplicate (without any cached information).
*/
-struct isl_map *isl_map_cow(struct isl_map *map)
+__isl_give isl_map *isl_map_cow(__isl_take isl_map *map)
{
if (!map)
return NULL;
@@ -1983,7 +1984,8 @@ error:
return NULL;
}
-struct isl_basic_map *isl_basic_map_set_to_empty(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_set_to_empty(
+ __isl_take isl_basic_map *bmap)
{
int i = 0;
unsigned total;
@@ -2173,7 +2175,7 @@ error:
* the div array too as the number of rows in this array is assumed
* to be equal to extra.
*/
-struct isl_basic_map *isl_basic_map_drop(struct isl_basic_map *bmap,
+__isl_give isl_basic_map *isl_basic_map_drop(__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned first, unsigned n)
{
int i;
@@ -2231,7 +2233,7 @@ __isl_give isl_basic_set *isl_basic_set_
type, first, n));
}
-struct isl_map *isl_map_drop(struct isl_map *map,
+__isl_give isl_map *isl_map_drop(__isl_take isl_map *map,
enum isl_dim_type type, unsigned first, unsigned n)
{
int i;
@@ -2263,7 +2265,7 @@ error:
return NULL;
}
-struct isl_set *isl_set_drop(struct isl_set *set,
+__isl_give isl_set *isl_set_drop(__isl_take isl_set *set,
enum isl_dim_type type, unsigned first, unsigned n)
{
return set_from_map(isl_map_drop(set_to_map(set), type, first, n));
@@ -2420,8 +2422,9 @@ __isl_give isl_set *isl_set_remove_divs(
return isl_map_remove_divs(set);
}
-struct isl_basic_map *isl_basic_map_remove_dims(struct isl_basic_map *bmap,
- enum isl_dim_type type, unsigned first, unsigned n)
+__isl_give isl_basic_map *isl_basic_map_remove_dims(
+ __isl_take isl_basic_map *bmap, enum isl_dim_type type,
+ unsigned first, unsigned n)
{
if (isl_basic_map_check_range(bmap, type, first, n) < 0)
return isl_basic_map_free(bmap);
@@ -3094,7 +3097,7 @@ __isl_give isl_basic_set *isl_basic_set_
return bset_from_bmap(bmap);
}
-struct isl_map *isl_map_remove_dims(struct isl_map *map,
+__isl_give isl_map *isl_map_remove_dims(__isl_take isl_map *map,
enum isl_dim_type type, unsigned first, unsigned n)
{
int i;
@@ -3311,7 +3314,7 @@ error:
/* Make sure "map" has room for at least "n" more basic maps.
*/
-struct isl_map *isl_map_grow(struct isl_map *map, int n)
+__isl_give isl_map *isl_map_grow(__isl_take isl_map *map, int n)
{
int i;
struct isl_map *grown = NULL;
@@ -3345,12 +3348,12 @@ struct isl_set *isl_set_grow(struct isl_
return set_from_map(isl_map_grow(set_to_map(set), n));
}
-struct isl_set *isl_set_from_basic_set(struct isl_basic_set *bset)
+__isl_give isl_set *isl_set_from_basic_set(__isl_take isl_basic_set *bset)
{
return isl_map_from_basic_map(bset);
}
-struct isl_map *isl_map_from_basic_map(struct isl_basic_map *bmap)
+__isl_give isl_map *isl_map_from_basic_map(__isl_take isl_basic_map *bmap)
{
struct isl_map *map;
@@ -3414,8 +3417,8 @@ void isl_map_print_internal(struct isl_m
}
}
-struct isl_basic_map *isl_basic_map_intersect_domain(
- struct isl_basic_map *bmap, struct isl_basic_set *bset)
+__isl_give isl_basic_map *isl_basic_map_intersect_domain(
+ __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *bset)
{
struct isl_basic_map *bmap_domain;
@@ -3459,8 +3462,8 @@ static isl_stat isl_basic_map_check_comp
return isl_stat_ok;
}
-struct isl_basic_map *isl_basic_map_intersect_range(
- struct isl_basic_map *bmap, struct isl_basic_set *bset)
+__isl_give isl_basic_map *isl_basic_map_intersect_range(
+ __isl_take isl_basic_map *bmap, __isl_take isl_basic_set *bset)
{
struct isl_basic_map *bmap_range;
@@ -3535,8 +3538,8 @@ isl_bool isl_basic_set_contains(__isl_ke
return isl_basic_map_contains(bset_to_bmap(bset), vec);
}
-struct isl_basic_map *isl_basic_map_intersect(
- struct isl_basic_map *bmap1, struct isl_basic_map *bmap2)
+__isl_give isl_basic_map *isl_basic_map_intersect(
+ __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2)
{
struct isl_vec *sample = NULL;
@@ -3772,7 +3775,7 @@ __isl_give isl_set *isl_set_intersect_pa
return isl_map_intersect_params(set, params);
}
-struct isl_basic_map *isl_basic_map_reverse(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_reverse(__isl_take isl_basic_map *bmap)
{
isl_space *space;
unsigned pos, n1, n2;
@@ -4491,8 +4494,8 @@ error:
/* Given two basic maps A -> f(A) and B -> g(B), construct a basic map
* A \cap B -> f(A) + f(B)
*/
-struct isl_basic_map *isl_basic_map_sum(
- struct isl_basic_map *bmap1, struct isl_basic_map *bmap2)
+__isl_give isl_basic_map *isl_basic_map_sum(__isl_take isl_basic_map *bmap1,
+ __isl_take isl_basic_map *bmap2)
{
unsigned n_in, n_out, nparam, total, pos;
struct isl_basic_map *bmap = NULL;
@@ -4550,7 +4553,8 @@ error:
/* Given two maps A -> f(A) and B -> g(B), construct a map
* A \cap B -> f(A) + f(B)
*/
-struct isl_map *isl_map_sum(struct isl_map *map1, struct isl_map *map2)
+__isl_give isl_map *isl_map_sum(__isl_take isl_map *map1,
+ __isl_take isl_map *map2)
{
struct isl_map *result;
int i, j;
@@ -4594,7 +4598,7 @@ __isl_give isl_set *isl_set_sum(__isl_ta
/* Given a basic map A -> f(A), construct A -> -f(A).
*/
-struct isl_basic_map *isl_basic_map_neg(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_neg(__isl_take isl_basic_map *bmap)
{
int i, j;
unsigned off, n;
@@ -4625,7 +4629,7 @@ __isl_give isl_basic_set *isl_basic_set_
/* Given a map A -> f(A), construct A -> -f(A).
*/
-struct isl_map *isl_map_neg(struct isl_map *map)
+__isl_give isl_map *isl_map_neg(__isl_take isl_map *map)
{
int i;
@@ -4653,7 +4657,7 @@ __isl_give isl_set *isl_set_neg(__isl_ta
/* Given a basic map A -> f(A) and an integer d, construct a basic map
* A -> floor(f(A)/d).
*/
-struct isl_basic_map *isl_basic_map_floordiv(struct isl_basic_map *bmap,
+__isl_give isl_basic_map *isl_basic_map_floordiv(__isl_take isl_basic_map *bmap,
isl_int d)
{
unsigned n_in, n_out, nparam, total, pos;
@@ -4707,7 +4711,7 @@ error:
/* Given a map A -> f(A) and an integer d, construct a map
* A -> floor(f(A)/d).
*/
-struct isl_map *isl_map_floordiv(struct isl_map *map, isl_int d)
+__isl_give isl_map *isl_map_floordiv(__isl_take isl_map *map, isl_int d)
{
int i;
@@ -4749,7 +4753,8 @@ error:
return NULL;
}
-static struct isl_basic_map *var_equal(struct isl_basic_map *bmap, unsigned pos)
+static __isl_give isl_basic_map *var_equal(__isl_take isl_basic_map *bmap,
+ unsigned pos)
{
int i;
unsigned nparam;
@@ -4771,7 +4776,8 @@ error:
/* Add a constraint to "bmap" expressing i_pos < o_pos
*/
-static struct isl_basic_map *var_less(struct isl_basic_map *bmap, unsigned pos)
+static __isl_give isl_basic_map *var_less(__isl_take isl_basic_map *bmap,
+ unsigned pos)
{
int i;
unsigned nparam;
@@ -4817,7 +4823,8 @@ error:
/* Add a constraint to "bmap" expressing i_pos > o_pos
*/
-static struct isl_basic_map *var_more(struct isl_basic_map *bmap, unsigned pos)
+static __isl_give isl_basic_map *var_more(__isl_take isl_basic_map *bmap,
+ unsigned pos)
{
int i;
unsigned nparam;
@@ -5691,7 +5698,7 @@ isl_bool isl_map_is_set(__isl_keep isl_m
return isl_space_is_set(map->dim);
}
-struct isl_set *isl_map_range(struct isl_map *map)
+__isl_give isl_set *isl_map_range(__isl_take isl_map *map)
{
int i;
isl_bool is_set;
@@ -6072,7 +6079,7 @@ error:
return NULL;
}
-struct isl_basic_map *isl_basic_map_fix_si(struct isl_basic_map *bmap,
+__isl_give isl_basic_map *isl_basic_map_fix_si(__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned pos, int value)
{
if (isl_basic_map_check_range(bmap, type, pos, 1) < 0)
@@ -6201,7 +6208,7 @@ error:
return NULL;
}
-struct isl_map *isl_map_fix_si(struct isl_map *map,
+__isl_give isl_map *isl_map_fix_si(__isl_take isl_map *map,
enum isl_dim_type type, unsigned pos, int value)
{
int i;
@@ -6527,7 +6534,7 @@ error:
return NULL;
}
-struct isl_map *isl_map_reverse(struct isl_map *map)
+__isl_give isl_map *isl_map_reverse(__isl_take isl_map *map)
{
int i;
@@ -6916,8 +6923,8 @@ __isl_give isl_pw_aff *isl_set_dim_min(_
/* Apply a preimage specified by "mat" on the parameters of "bset".
* bset is assumed to have only parameters and divs.
*/
-static struct isl_basic_set *basic_set_parameter_preimage(
- struct isl_basic_set *bset, struct isl_mat *mat)
+static __isl_give isl_basic_set *basic_set_parameter_preimage(
+ __isl_take isl_basic_set *bset, __isl_take isl_mat *mat)
{
unsigned nparam;
@@ -6984,8 +6991,8 @@ error:
/* Intersect the basic set "bset" with the affine space specified by the
* equalities in "eq".
*/
-static struct isl_basic_set *basic_set_append_equalities(
- struct isl_basic_set *bset, struct isl_mat *eq)
+static __isl_give isl_basic_set *basic_set_append_equalities(
+ __isl_take isl_basic_set *bset, __isl_take isl_mat *eq)
{
int i, k;
unsigned len;
@@ -7445,7 +7452,7 @@ isl_bool isl_map_divs_known(__isl_keep i
* quite expensive, so first try to remove divs that aren't
* strictly needed.
*/
-struct isl_map *isl_basic_map_compute_divs(struct isl_basic_map *bmap)
+__isl_give isl_map *isl_basic_map_compute_divs(__isl_take isl_basic_map *bmap)
{
int known;
struct isl_map *map;
@@ -7471,7 +7478,7 @@ error:
return NULL;
}
-struct isl_map *isl_map_compute_divs(struct isl_map *map)
+__isl_give isl_map *isl_map_compute_divs(__isl_take isl_map *map)
{
int i;
int known;
@@ -7514,7 +7521,7 @@ struct isl_set *isl_set_compute_divs(str
return set_from_map(isl_map_compute_divs(set_to_map(set)));
}
-struct isl_set *isl_map_domain(struct isl_map *map)
+__isl_give isl_set *isl_map_domain(__isl_take isl_map *map)
{
int i;
struct isl_set *set;
@@ -7852,7 +7859,7 @@ __isl_give isl_map *isl_map_apply_range(
/*
* returns range - domain
*/
-struct isl_basic_set *isl_basic_map_deltas(struct isl_basic_map *bmap)
+__isl_give isl_basic_set *isl_basic_map_deltas(__isl_take isl_basic_map *bmap)
{
isl_space *target_space;
struct isl_basic_set *bset;
@@ -8571,8 +8578,8 @@ isl_bool isl_basic_set_is_empty(__isl_ke
return isl_basic_map_is_empty(bset_to_bmap(bset));
}
-struct isl_map *isl_basic_map_union(
- struct isl_basic_map *bmap1, struct isl_basic_map *bmap2)
+__isl_give isl_map *isl_basic_map_union(__isl_take isl_basic_map *bmap1,
+ __isl_take isl_basic_map *bmap2)
{
struct isl_map *map;
if (!bmap1 || !bmap2)
@@ -8600,7 +8607,8 @@ struct isl_set *isl_basic_set_union(
}
/* Order divs such that any div only depends on previous divs */
-struct isl_basic_map *isl_basic_map_order_divs(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_order_divs(
+ __isl_take isl_basic_map *bmap)
{
int i;
unsigned off;
@@ -8735,8 +8743,8 @@ __isl_give isl_basic_set *isl_basic_set_
* Returns -1 if no corresponding div was found and the position
* of the corresponding div in dst otherwise.
*/
-static int find_div(struct isl_basic_map *dst,
- struct isl_basic_map *src, unsigned div)
+static int find_div(__isl_keep isl_basic_map *dst,
+ __isl_keep isl_basic_map *src, unsigned div)
{
int i;
@@ -8927,7 +8935,7 @@ __isl_give isl_set *isl_set_apply( __isl
/* There is no need to cow as removing empty parts doesn't change
* the meaning of the set.
*/
-struct isl_map *isl_map_remove_empty_parts(struct isl_map *map)
+__isl_give isl_map *isl_map_remove_empty_parts(__isl_take isl_map *map)
{
int i;
@@ -9352,7 +9360,8 @@ __isl_give isl_basic_set *isl_basic_set_
return bset_from_bmap(isl_basic_map_sort_constraints(bmap));
}
-struct isl_basic_map *isl_basic_map_normalize(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_normalize(
+ __isl_take isl_basic_map *bmap)
{
if (!bmap)
return NULL;
@@ -9728,8 +9737,8 @@ error:
return NULL;
}
-struct isl_basic_map *isl_basic_map_product(
- struct isl_basic_map *bmap1, struct isl_basic_map *bmap2)
+__isl_give isl_basic_map *isl_basic_map_product(
+ __isl_take isl_basic_map *bmap1, __isl_take isl_basic_map *bmap2)
{
isl_space *dim_result = NULL;
struct isl_basic_map *bmap;
Modified: polly/trunk/lib/External/isl/isl_map_private.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_map_private.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map_private.h (original)
+++ polly/trunk/lib/External/isl/isl_map_private.h Fri Apr 28 01:11:17 2017
@@ -179,7 +179,7 @@ __isl_give isl_map *isl_map_reset_space(
unsigned isl_basic_map_offset(struct isl_basic_map *bmap,
enum isl_dim_type type);
-unsigned isl_basic_set_offset(struct isl_basic_set *bset,
+unsigned isl_basic_set_offset(__isl_keep isl_basic_set *bset,
enum isl_dim_type type);
isl_bool isl_basic_map_may_be_set(__isl_keep isl_basic_map *bmap);
@@ -191,16 +191,16 @@ isl_bool isl_basic_map_compatible_domain
isl_bool isl_basic_map_compatible_range(__isl_keep isl_basic_map *bmap,
__isl_keep isl_basic_set *bset);
-struct isl_basic_map *isl_basic_map_extend_space(struct isl_basic_map *base,
- __isl_take isl_space *dim, unsigned extra,
- unsigned n_eq, unsigned n_ineq);
+__isl_give isl_basic_map *isl_basic_map_extend_space(
+ __isl_take isl_basic_map *base, __isl_take isl_space *dim,
+ unsigned extra, unsigned n_eq, unsigned n_ineq);
struct isl_basic_set *isl_basic_set_extend_space(struct isl_basic_set *base,
__isl_take isl_space *dim, unsigned extra,
unsigned n_eq, unsigned n_ineq);
struct isl_basic_set *isl_basic_set_add_constraints(struct isl_basic_set *bset1,
struct isl_basic_set *bset2, unsigned pos);
-struct isl_map *isl_map_grow(struct isl_map *map, int n);
+__isl_give isl_map *isl_map_grow(__isl_take isl_map *map, int n);
struct isl_set *isl_set_grow(struct isl_set *set, int n);
isl_bool isl_basic_set_contains(__isl_keep isl_basic_set *bset,
@@ -222,8 +222,8 @@ int isl_basic_set_alloc_equality(struct
int isl_basic_set_free_inequality(struct isl_basic_set *bset, unsigned n);
int isl_basic_map_free_equality(struct isl_basic_map *bmap, unsigned n);
int isl_basic_set_free_equality(struct isl_basic_set *bset, unsigned n);
-int isl_basic_set_alloc_inequality(struct isl_basic_set *bset);
-int isl_basic_map_alloc_inequality(struct isl_basic_map *bmap);
+int isl_basic_set_alloc_inequality(__isl_keep isl_basic_set *bset);
+int isl_basic_map_alloc_inequality(__isl_keep isl_basic_map *bmap);
int isl_basic_map_free_inequality(struct isl_basic_map *bmap, unsigned n);
int isl_basic_map_alloc_div(struct isl_basic_map *bmap);
__isl_give isl_basic_map *isl_basic_map_insert_div(
@@ -251,22 +251,24 @@ __isl_give isl_basic_set *isl_basic_set_
int isl_inequality_negate(struct isl_basic_map *bmap, unsigned pos);
-struct isl_basic_set *isl_basic_set_cow(struct isl_basic_set *bset);
-struct isl_basic_map *isl_basic_map_cow(struct isl_basic_map *bmap);
-struct isl_set *isl_set_cow(struct isl_set *set);
-struct isl_map *isl_map_cow(struct isl_map *map);
+__isl_give isl_basic_set *isl_basic_set_cow(__isl_take isl_basic_set *bset);
+__isl_give isl_basic_map *isl_basic_map_cow(__isl_take isl_basic_map *bmap);
+__isl_give isl_set *isl_set_cow(__isl_take isl_set *set);
+__isl_give isl_map *isl_map_cow(__isl_take isl_map *map);
uint32_t isl_basic_map_get_hash(__isl_keep isl_basic_map *bmap);
__isl_give isl_set *isl_basic_set_list_union(
__isl_take isl_basic_set_list *list);
-struct isl_basic_map *isl_basic_map_set_to_empty(struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_set_to_empty(
+ __isl_take isl_basic_map *bmap);
struct isl_basic_set *isl_basic_set_set_to_empty(struct isl_basic_set *bset);
struct isl_basic_set *isl_basic_set_order_divs(struct isl_basic_set *bset);
void isl_basic_map_swap_div(struct isl_basic_map *bmap, int a, int b);
void isl_basic_set_swap_div(struct isl_basic_set *bset, int a, int b);
-struct isl_basic_map *isl_basic_map_order_divs(struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_order_divs(
+ __isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_order_divs(__isl_take isl_map *map);
struct isl_basic_map *isl_basic_map_align_divs(
struct isl_basic_map *dst, struct isl_basic_map *src);
@@ -280,8 +282,8 @@ __isl_give isl_basic_set *isl_basic_set_
__isl_give isl_basic_map *isl_basic_map_sort_divs(
__isl_take isl_basic_map *bmap);
__isl_give isl_map *isl_map_sort_divs(__isl_take isl_map *map);
-struct isl_basic_map *isl_basic_map_gauss(
- struct isl_basic_map *bmap, int *progress);
+__isl_give isl_basic_map *isl_basic_map_gauss(__isl_take isl_basic_map *bmap,
+ int *progress);
struct isl_basic_set *isl_basic_set_gauss(
struct isl_basic_set *bset, int *progress);
int isl_basic_map_constraint_cmp(__isl_keep isl_basic_map *bmap,
@@ -294,12 +296,12 @@ int isl_basic_map_plain_cmp(__isl_keep i
__isl_keep isl_basic_map *bmap2);
isl_bool isl_basic_map_plain_is_equal(__isl_keep isl_basic_map *bmap1,
__isl_keep isl_basic_map *bmap2);
-struct isl_basic_map *isl_basic_map_normalize_constraints(
- struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_normalize_constraints(
+ __isl_take isl_basic_map *bmap);
struct isl_basic_set *isl_basic_set_normalize_constraints(
struct isl_basic_set *bset);
-struct isl_basic_map *isl_basic_map_implicit_equalities(
- struct isl_basic_map *bmap);
+__isl_give isl_basic_map *isl_basic_map_implicit_equalities(
+ __isl_take isl_basic_map *bmap);
struct isl_basic_set *isl_basic_map_underlying_set(struct isl_basic_map *bmap);
__isl_give isl_basic_set *isl_basic_set_underlying_set(
__isl_take isl_basic_set *bset);
@@ -316,13 +318,13 @@ __isl_give isl_basic_set *isl_basic_set_
__isl_take isl_basic_set *bset, unsigned first, unsigned n);
__isl_give isl_basic_set *isl_basic_set_drop(__isl_take isl_basic_set *bset,
enum isl_dim_type type, unsigned first, unsigned n);
-struct isl_basic_map *isl_basic_map_drop(struct isl_basic_map *bmap,
+__isl_give isl_basic_map *isl_basic_map_drop(__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned first, unsigned n);
-struct isl_set *isl_set_drop(struct isl_set *set,
+__isl_give isl_set *isl_set_drop(__isl_take isl_set *set,
enum isl_dim_type type, unsigned first, unsigned n);
struct isl_basic_set *isl_basic_set_drop_dims(
struct isl_basic_set *bset, unsigned first, unsigned n);
-struct isl_map *isl_map_drop(struct isl_map *map,
+__isl_give isl_map *isl_map_drop(__isl_take isl_map *map,
enum isl_dim_type type, unsigned first, unsigned n);
__isl_give isl_basic_map *isl_basic_map_drop_unrelated_constraints(
__isl_take isl_basic_map *bmap, __isl_take int *group);
@@ -332,7 +334,7 @@ __isl_give isl_basic_map *isl_basic_map_
__isl_give isl_basic_map *isl_basic_map_detect_inequality_pairs(
__isl_take isl_basic_map *bmap, int *progress);
-struct isl_map *isl_map_remove_empty_parts(struct isl_map *map);
+__isl_give isl_map *isl_map_remove_empty_parts(__isl_take isl_map *map);
struct isl_set *isl_set_remove_empty_parts(struct isl_set *set);
__isl_give isl_map *isl_map_remove_obvious_duplicates(__isl_take isl_map *map);
@@ -341,8 +343,8 @@ struct isl_set *isl_set_normalize(struct
struct isl_set *isl_set_drop_vars(
struct isl_set *set, unsigned first, unsigned n);
-struct isl_basic_map *isl_basic_map_eliminate_vars(
- struct isl_basic_map *bmap, unsigned pos, unsigned n);
+__isl_give isl_basic_map *isl_basic_map_eliminate_vars(
+ __isl_take isl_basic_map *bmap, unsigned pos, unsigned n);
struct isl_basic_set *isl_basic_set_eliminate_vars(
struct isl_basic_set *bset, unsigned pos, unsigned n);
@@ -359,8 +361,10 @@ __isl_give isl_basic_map *isl_basic_map_
struct isl_basic_map *isl_basic_map_drop_redundant_divs(
struct isl_basic_map *bmap);
-struct isl_basic_set *isl_basic_set_recession_cone(struct isl_basic_set *bset);
-struct isl_basic_set *isl_basic_set_lineality_space(struct isl_basic_set *bset);
+__isl_give isl_basic_set *isl_basic_set_recession_cone(
+ __isl_take isl_basic_set *bset);
+__isl_give isl_basic_set *isl_basic_set_lineality_space(
+ __isl_take isl_basic_set *bset);
__isl_give isl_basic_set *isl_basic_set_set_integral(
__isl_take isl_basic_set *bset);
Modified: polly/trunk/lib/External/isl/isl_map_simplify.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_map_simplify.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map_simplify.c (original)
+++ polly/trunk/lib/External/isl/isl_map_simplify.c Fri Apr 28 01:11:17 2017
@@ -44,8 +44,8 @@ static void swap_inequality(struct isl_b
}
}
-struct isl_basic_map *isl_basic_map_normalize_constraints(
- struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_normalize_constraints(
+ __isl_take isl_basic_map *bmap)
{
int i;
isl_int gcd;
@@ -357,7 +357,7 @@ static __isl_give isl_basic_map *elimina
/* Check if elimination of div "div" using equality "eq" would not
* result in a div depending on a later div.
*/
-static isl_bool ok_to_eliminate_div(struct isl_basic_map *bmap, isl_int *eq,
+static isl_bool ok_to_eliminate_div(__isl_keep isl_basic_map *bmap, isl_int *eq,
unsigned div)
{
int k;
@@ -381,8 +381,8 @@ static isl_bool ok_to_eliminate_div(stru
/* Eliminate divs based on equalities
*/
-static struct isl_basic_map *eliminate_divs_eq(
- struct isl_basic_map *bmap, int *progress)
+static __isl_give isl_basic_map *eliminate_divs_eq(
+ __isl_take isl_basic_map *bmap, int *progress)
{
int d;
int i;
@@ -423,8 +423,8 @@ static struct isl_basic_map *eliminate_d
/* Eliminate divs based on inequalities
*/
-static struct isl_basic_map *eliminate_divs_ineq(
- struct isl_basic_map *bmap, int *progress)
+static __isl_give isl_basic_map *eliminate_divs_ineq(
+ __isl_take isl_basic_map *bmap, int *progress)
{
int d;
int i;
@@ -541,8 +541,8 @@ static __isl_give isl_basic_map *set_div
return bmap;
}
-struct isl_basic_map *isl_basic_map_gauss(
- struct isl_basic_map *bmap, int *progress)
+__isl_give isl_basic_map *isl_basic_map_gauss(__isl_take isl_basic_map *bmap,
+ int *progress)
{
int k;
int done;
@@ -689,7 +689,7 @@ static int hash_index(struct isl_constra
}
static int set_hash_index(struct isl_constraint_index *ci,
- struct isl_basic_set *bset, int k)
+ __isl_keep isl_basic_set *bset, int k)
{
return hash_index(ci, bset, k);
}
@@ -741,8 +741,8 @@ static isl_bool constraint_index_is_redu
* change the position of the other divs that still need to
* be removed.
*/
-static struct isl_basic_map *remove_duplicate_divs(
- struct isl_basic_map *bmap, int *progress)
+static __isl_give isl_basic_map *remove_duplicate_divs(
+ __isl_take isl_basic_map *bmap, int *progress)
{
unsigned int size;
int *index;
@@ -885,8 +885,8 @@ static int n_pure_div_eq(struct isl_basi
* we have to replace each x'', i.e., the x'_k with (g_kk = 1),
* by the corresponding row from C_2.
*/
-static struct isl_basic_map *normalize_divs(
- struct isl_basic_map *bmap, int *progress)
+static __isl_give isl_basic_map *normalize_divs(__isl_take isl_basic_map *bmap,
+ int *progress)
{
int i, j, k;
int total;
@@ -1035,8 +1035,8 @@ error:
return bmap;
}
-static struct isl_basic_map *set_div_from_lower_bound(
- struct isl_basic_map *bmap, int div, int ineq)
+static __isl_give isl_basic_map *set_div_from_lower_bound(
+ __isl_take isl_basic_map *bmap, int div, int ineq)
{
unsigned total = 1 + isl_space_dim(bmap->dim, isl_dim_all);
@@ -1055,7 +1055,7 @@ static struct isl_basic_map *set_div_fro
* any other undefined divs or if any known div is defined in
* terms of the unknown div.
*/
-static isl_bool ok_to_set_div_from_bound(struct isl_basic_map *bmap,
+static isl_bool ok_to_set_div_from_bound(__isl_keep isl_basic_map *bmap,
int div, int ineq)
{
int j;
@@ -1125,8 +1125,9 @@ static isl_bool better_div_constraint(__
* any other undefined divs or if any known div is defined in
* terms of the unknown div.
*/
-static struct isl_basic_map *check_for_div_constraints(
- struct isl_basic_map *bmap, int k, int l, isl_int sum, int *progress)
+static __isl_give isl_basic_map *check_for_div_constraints(
+ __isl_take isl_basic_map *bmap, int k, int l, isl_int sum,
+ int *progress)
{
int i;
unsigned total = 1 + isl_space_dim(bmap->dim, isl_dim_all);
@@ -1335,7 +1336,7 @@ static __isl_give isl_basic_map *elimina
return bmap;
}
-struct isl_basic_map *isl_basic_map_simplify(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_simplify(__isl_take isl_basic_map *bmap)
{
int progress = 1;
if (!bmap)
@@ -1424,7 +1425,7 @@ isl_bool isl_basic_set_is_div_constraint
*
* then it can safely be removed.
*/
-static isl_bool div_is_redundant(struct isl_basic_map *bmap, int div)
+static isl_bool div_is_redundant(__isl_keep isl_basic_map *bmap, int div)
{
int i;
unsigned pos = 1 + isl_space_dim(bmap->dim, isl_dim_all) + div;
@@ -1459,7 +1460,8 @@ static isl_bool div_is_redundant(struct
* when the divs of a basic map have been temporarily aligned
* with the divs of another basic map.
*/
-static struct isl_basic_map *remove_redundant_divs(struct isl_basic_map *bmap)
+static __isl_give isl_basic_map *remove_redundant_divs(
+ __isl_take isl_basic_map *bmap)
{
int i;
@@ -1494,7 +1496,7 @@ __isl_give isl_basic_map *isl_basic_map_
/* Mark "bmap" as final, after removing obviously redundant integer divisions.
*/
-struct isl_basic_map *isl_basic_map_finalize(struct isl_basic_map *bmap)
+__isl_give isl_basic_map *isl_basic_map_finalize(__isl_take isl_basic_map *bmap)
{
bmap = remove_redundant_divs(bmap);
bmap = isl_basic_map_mark_final(bmap);
@@ -1510,8 +1512,8 @@ struct isl_basic_set *isl_basic_set_fina
* The div itself is not removed. Functions such as
* eliminate_divs_ineq depend on the other divs remaining in place.
*/
-static struct isl_basic_map *remove_dependent_vars(struct isl_basic_map *bmap,
- int pos)
+static __isl_give isl_basic_map *remove_dependent_vars(
+ __isl_take isl_basic_map *bmap, int pos)
{
int i;
@@ -1533,8 +1535,8 @@ static struct isl_basic_map *remove_depe
/* Eliminate the specified variables from the constraints using
* Fourier-Motzkin. The variables themselves are not removed.
*/
-struct isl_basic_map *isl_basic_map_eliminate_vars(
- struct isl_basic_map *bmap, unsigned pos, unsigned n)
+__isl_give isl_basic_map *isl_basic_map_eliminate_vars(
+ __isl_take isl_basic_map *bmap, unsigned pos, unsigned n)
{
int d;
int i, j, k;
@@ -1760,7 +1762,7 @@ __isl_give isl_map *isl_map_drop_constra
/* Don't assume equalities are in order, because align_divs
* may have changed the order of the divs.
*/
-static void compute_elimination_index(struct isl_basic_map *bmap, int *elim)
+static void compute_elimination_index(__isl_keep isl_basic_map *bmap, int *elim)
{
int d, i;
unsigned total;
@@ -1778,13 +1780,14 @@ static void compute_elimination_index(st
}
}
-static void set_compute_elimination_index(struct isl_basic_set *bset, int *elim)
+static void set_compute_elimination_index(__isl_keep isl_basic_set *bset,
+ int *elim)
{
compute_elimination_index(bset_to_bmap(bset), elim);
}
static int reduced_using_equalities(isl_int *dst, isl_int *src,
- struct isl_basic_map *bmap, int *elim)
+ __isl_keep isl_basic_map *bmap, int *elim)
{
int d;
int copied = 0;
@@ -1806,14 +1809,14 @@ static int reduced_using_equalities(isl_
}
static int set_reduced_using_equalities(isl_int *dst, isl_int *src,
- struct isl_basic_set *bset, int *elim)
+ __isl_keep isl_basic_set *bset, int *elim)
{
return reduced_using_equalities(dst, src,
bset_to_bmap(bset), elim);
}
-static struct isl_basic_set *isl_basic_set_reduce_using_equalities(
- struct isl_basic_set *bset, struct isl_basic_set *context)
+static __isl_give isl_basic_set *isl_basic_set_reduce_using_equalities(
+ __isl_take isl_basic_set *bset, __isl_take isl_basic_set *context)
{
int i;
int *elim;
@@ -1897,8 +1900,8 @@ error:
return isl_stat_error;
}
-static struct isl_basic_set *remove_shifted_constraints(
- struct isl_basic_set *bset, struct isl_basic_set *context)
+static __isl_give isl_basic_set *remove_shifted_constraints(
+ __isl_take isl_basic_set *bset, __isl_keep isl_basic_set *context)
{
struct isl_constraint_index ci;
int k;
@@ -3027,8 +3030,8 @@ static __isl_give isl_basic_map *gist_st
* also simplified with respecting to the other equality constraints
* in "bmap" and with respect to all equality constraints in "context".
*/
-struct isl_basic_map *isl_basic_map_gist(struct isl_basic_map *bmap,
- struct isl_basic_map *context)
+__isl_give isl_basic_map *isl_basic_map_gist(__isl_take isl_basic_map *bmap,
+ __isl_take isl_basic_map *context)
{
isl_basic_set *bset, *eq;
isl_basic_map *eq_bmap;
@@ -4085,8 +4088,8 @@ static isl_bool int_between_bounds(__isl
* In particular, the value attained by the bound with unit coefficient
* can serve as this intermediate value.
*/
-static struct isl_basic_map *drop_more_redundant_divs(
- struct isl_basic_map *bmap, int *pairs, int n)
+static __isl_give isl_basic_map *drop_more_redundant_divs(
+ __isl_take isl_basic_map *bmap, __isl_take int *pairs, int n)
{
isl_ctx *ctx;
struct test_ineq_data data = { NULL, NULL };
@@ -4220,7 +4223,7 @@ error:
* 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,
+static __isl_give isl_basic_map *coalesce_divs(__isl_take isl_basic_map *bmap,
unsigned div1, unsigned div2, unsigned l, unsigned u)
{
isl_ctx *ctx;
@@ -4276,8 +4279,8 @@ static struct isl_basic_map *coalesce_di
* is any other div "c" with which we can coalesce the div
* and if so, perform the coalescing.
*/
-static struct isl_basic_map *coalesce_or_drop_more_redundant_divs(
- struct isl_basic_map *bmap, int *pairs, int n)
+static __isl_give isl_basic_map *coalesce_or_drop_more_redundant_divs(
+ __isl_take isl_basic_map *bmap, int *pairs, int n)
{
int i, l, u;
unsigned dim;
Modified: polly/trunk/lib/External/isl/isl_mat.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_mat.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_mat.c (original)
+++ polly/trunk/lib/External/isl/isl_mat.c Fri Apr 28 01:11:17 2017
@@ -194,7 +194,7 @@ void isl_mat_sub_neg(struct isl_ctx *ctx
isl_seq_neg(dst[i]+dst_col, src[i]+src_col, n_col);
}
-struct isl_mat *isl_mat_copy(struct isl_mat *mat)
+__isl_give isl_mat *isl_mat_copy(__isl_keep isl_mat *mat)
{
if (!mat)
return NULL;
@@ -420,7 +420,8 @@ int isl_mat_is_scaled_identity(__isl_kee
return 1;
}
-struct isl_vec *isl_mat_vec_product(struct isl_mat *mat, struct isl_vec *vec)
+__isl_give isl_vec *isl_mat_vec_product(__isl_take isl_mat *mat,
+ __isl_take isl_vec *vec)
{
int i;
struct isl_vec *prod;
@@ -475,7 +476,8 @@ error:
return NULL;
}
-struct isl_vec *isl_vec_mat_product(struct isl_vec *vec, struct isl_mat *mat)
+__isl_give isl_vec *isl_vec_mat_product(__isl_take isl_vec *vec,
+ __isl_take isl_mat *mat)
{
int i, j;
struct isl_vec *prod;
@@ -503,8 +505,8 @@ error:
return NULL;
}
-struct isl_mat *isl_mat_aff_direct_sum(struct isl_mat *left,
- struct isl_mat *right)
+__isl_give isl_mat *isl_mat_aff_direct_sum(__isl_take isl_mat *left,
+ __isl_take isl_mat *right)
{
int i;
struct isl_mat *sum;
@@ -609,8 +611,8 @@ static void oppose(struct isl_mat *M, st
* column.
* If U or Q are NULL, then these matrices are not computed.
*/
-struct isl_mat *isl_mat_left_hermite(struct isl_mat *M, int neg,
- struct isl_mat **U, struct isl_mat **Q)
+__isl_give isl_mat *isl_mat_left_hermite(__isl_take isl_mat *M, int neg,
+ __isl_give isl_mat **U, __isl_give isl_mat **Q)
{
isl_int c;
int row, col;
@@ -716,7 +718,7 @@ error:
return NULL;
}
-struct isl_mat *isl_mat_lin_to_aff(struct isl_mat *mat)
+__isl_give isl_mat *isl_mat_lin_to_aff(__isl_take isl_mat *mat)
{
int i;
struct isl_mat *mat2;
@@ -831,8 +833,8 @@ static void inv_subtract(struct isl_mat
/* Compute inv(left)*right
*/
-struct isl_mat *isl_mat_inverse_product(struct isl_mat *left,
- struct isl_mat *right)
+__isl_give isl_mat *isl_mat_inverse_product(__isl_take isl_mat *left,
+ __isl_take isl_mat *right)
{
int row;
isl_int a, b;
@@ -947,7 +949,7 @@ void isl_mat_col_combine(struct isl_mat
isl_int_clear(tmp);
}
-struct isl_mat *isl_mat_right_inverse(struct isl_mat *mat)
+__isl_give isl_mat *isl_mat_right_inverse(__isl_take isl_mat *mat)
{
struct isl_mat *inv;
int row;
@@ -1026,7 +1028,7 @@ error:
return NULL;
}
-struct isl_mat *isl_mat_transpose(struct isl_mat *mat)
+__isl_give isl_mat *isl_mat_transpose(__isl_take isl_mat *mat)
{
struct isl_mat *transpose = NULL;
int i, j;
@@ -1056,7 +1058,8 @@ error:
return NULL;
}
-struct isl_mat *isl_mat_swap_cols(struct isl_mat *mat, unsigned i, unsigned j)
+__isl_give isl_mat *isl_mat_swap_cols(__isl_take isl_mat *mat,
+ unsigned i, unsigned j)
{
int r;
@@ -1074,7 +1077,8 @@ error:
return NULL;
}
-struct isl_mat *isl_mat_swap_rows(struct isl_mat *mat, unsigned i, unsigned j)
+__isl_give isl_mat *isl_mat_swap_rows(__isl_take isl_mat *mat,
+ unsigned i, unsigned j)
{
isl_int *t;
@@ -1541,7 +1545,7 @@ __isl_give isl_mat *isl_mat_col_neg(__is
return mat;
}
-struct isl_mat *isl_mat_unimodular_complete(struct isl_mat *M, int row)
+__isl_give isl_mat *isl_mat_unimodular_complete(__isl_take isl_mat *M, int row)
{
int r;
struct isl_mat *H = NULL, *Q = NULL;
Modified: polly/trunk/lib/External/isl/isl_output.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_output.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_output.c (original)
+++ polly/trunk/lib/External/isl/isl_output.c Fri Apr 28 01:11:17 2017
@@ -506,7 +506,8 @@ static const char *constraint_op(int sig
* "first_constraint" is set if this is the first constraint
* in the conjunction.
*/
-static __isl_give isl_printer *print_half_constraint(struct isl_basic_map *bmap,
+static __isl_give isl_printer *print_half_constraint(
+ __isl_keep isl_basic_map *bmap,
__isl_keep isl_space *space, __isl_keep isl_mat *div,
__isl_take isl_printer *p, isl_int *c, int last, const char *op,
int first_constraint, int latex)
@@ -536,7 +537,7 @@ static __isl_give isl_printer *print_hal
* "first_constraint" is set if this is the first constraint
* in the conjunction.
*/
-static __isl_give isl_printer *print_constraint(struct isl_basic_map *bmap,
+static __isl_give isl_printer *print_constraint(__isl_keep isl_basic_map *bmap,
__isl_keep isl_space *space, __isl_keep isl_mat *div,
__isl_take isl_printer *p,
isl_int *c, int last, const char *op, int first_constraint, int latex)
Modified: polly/trunk/lib/External/isl/isl_sample.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_sample.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_sample.c (original)
+++ polly/trunk/lib/External/isl/isl_sample.c Fri Apr 28 01:11:17 2017
@@ -24,7 +24,7 @@
#include <bset_from_bmap.c>
#include <set_to_map.c>
-static struct isl_vec *empty_sample(struct isl_basic_set *bset)
+static __isl_give isl_vec *empty_sample(__isl_take isl_basic_set *bset)
{
struct isl_vec *vec;
@@ -37,7 +37,7 @@ static struct isl_vec *empty_sample(stru
* As a special case, if bset is zero-dimensional, this
* function creates a zero-dimensional sample point.
*/
-static struct isl_vec *zero_sample(struct isl_basic_set *bset)
+static __isl_give isl_vec *zero_sample(__isl_take isl_basic_set *bset)
{
unsigned dim;
struct isl_vec *sample;
@@ -52,7 +52,7 @@ static struct isl_vec *zero_sample(struc
return sample;
}
-static struct isl_vec *interval_sample(struct isl_basic_set *bset)
+static __isl_give isl_vec *interval_sample(__isl_take isl_basic_set *bset)
{
int i;
isl_int t;
@@ -119,8 +119,8 @@ error:
* in the resulting bset, using the specified recurse function,
* and then transform the sample back to the original space.
*/
-static struct isl_vec *sample_eq(struct isl_basic_set *bset,
- struct isl_vec *(*recurse)(struct isl_basic_set *))
+static __isl_give isl_vec *sample_eq(__isl_take isl_basic_set *bset,
+ __isl_give isl_vec *(*recurse)(__isl_take isl_basic_set *))
{
struct isl_mat *T;
struct isl_vec *sample;
@@ -524,7 +524,7 @@ error:
return NULL;
}
-static struct isl_vec *sample_bounded(struct isl_basic_set *bset);
+static __isl_give isl_vec *sample_bounded(__isl_take isl_basic_set *bset);
/* Compute a sample point of the given basic set, based on the given,
* non-trivial factorization.
@@ -601,7 +601,7 @@ error:
* and then use isl_tab_sample to find a sample, passing it
* the identity matrix as initial basis.
*/
-static struct isl_vec *sample_bounded(struct isl_basic_set *bset)
+static __isl_give isl_vec *sample_bounded(__isl_take isl_basic_set *bset)
{
unsigned dim;
struct isl_vec *sample;
@@ -672,8 +672,8 @@ error:
* where [1 s] is the sample value and I is the identity matrix of the
* appropriate dimension.
*/
-static struct isl_basic_set *plug_in(struct isl_basic_set *bset,
- struct isl_vec *sample)
+static __isl_give isl_basic_set *plug_in(__isl_take isl_basic_set *bset,
+ __isl_take isl_vec *sample)
{
int i;
unsigned total;
@@ -708,7 +708,7 @@ error:
/* Given a basic set "bset", return any (possibly non-integer) point
* in the basic set.
*/
-static struct isl_vec *rational_sample(struct isl_basic_set *bset)
+static __isl_give isl_vec *rational_sample(__isl_take isl_basic_set *bset)
{
struct isl_tab *tab;
struct isl_vec *sample;
@@ -758,8 +758,8 @@ static struct isl_vec *rational_sample(s
* and we only have to add the smallest negative a_i (if any)
* instead of the sum of all negative a_i.
*/
-static struct isl_basic_set *shift_cone(struct isl_basic_set *cone,
- struct isl_vec *vec)
+static __isl_give isl_basic_set *shift_cone(__isl_take isl_basic_set *cone,
+ __isl_take isl_vec *vec)
{
int i, j, k;
unsigned total;
@@ -816,8 +816,8 @@ error:
* Then we simply round up the coordinates of x and return the
* resulting integer point.
*/
-static struct isl_vec *round_up_in_cone(struct isl_vec *vec,
- struct isl_basic_set *cone, struct isl_mat *U)
+static __isl_give isl_vec *round_up_in_cone(__isl_take isl_vec *vec,
+ __isl_take isl_basic_set *cone, __isl_take isl_mat *U)
{
unsigned total;
@@ -851,7 +851,8 @@ error:
/* Concatenate two integer vectors, i.e., two vectors with denominator
* (stored in element 0) equal to 1.
*/
-static struct isl_vec *vec_concat(struct isl_vec *vec1, struct isl_vec *vec2)
+static __isl_give isl_vec *vec_concat(__isl_take isl_vec *vec1,
+ __isl_take isl_vec *vec2)
{
struct isl_vec *vec;
@@ -1100,7 +1101,7 @@ int isl_tab_set_initial_basis_with_cone(
* sample_with_cone. Otherwise, we directly perform generalized basis
* reduction.
*/
-static struct isl_vec *gbr_sample(struct isl_basic_set *bset)
+static __isl_give isl_vec *gbr_sample(__isl_take isl_basic_set *bset)
{
unsigned dim;
struct isl_basic_set *cone;
@@ -1121,7 +1122,8 @@ error:
return NULL;
}
-static struct isl_vec *basic_set_sample(struct isl_basic_set *bset, int bounded)
+static __isl_give isl_vec *basic_set_sample(__isl_take isl_basic_set *bset,
+ int bounded)
{
struct isl_ctx *ctx;
unsigned dim;
@@ -1171,7 +1173,7 @@ __isl_give isl_vec *isl_basic_set_sample
/* Compute an integer sample in "bset", where the caller guarantees
* that "bset" is bounded.
*/
-struct isl_vec *isl_basic_set_sample_bounded(struct isl_basic_set *bset)
+__isl_give isl_vec *isl_basic_set_sample_bounded(__isl_take isl_basic_set *bset)
{
return basic_set_sample(bset, 1);
}
Modified: polly/trunk/lib/External/isl/isl_sample.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_sample.h?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_sample.h (original)
+++ polly/trunk/lib/External/isl/isl_sample.h Fri Apr 28 01:11:17 2017
@@ -18,7 +18,8 @@ extern "C" {
#endif
__isl_give isl_vec *isl_basic_set_sample_vec(__isl_take isl_basic_set *bset);
-struct isl_vec *isl_basic_set_sample_bounded(struct isl_basic_set *bset);
+__isl_give isl_vec *isl_basic_set_sample_bounded(
+ __isl_take isl_basic_set *bset);
__isl_give isl_vec *isl_basic_set_sample_with_cone(
__isl_take isl_basic_set *bset, __isl_take isl_basic_set *cone);
Modified: polly/trunk/lib/External/isl/isl_scheduler.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_scheduler.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_scheduler.c (original)
+++ polly/trunk/lib/External/isl/isl_scheduler.c Fri Apr 28 01:11:17 2017
@@ -4333,14 +4333,12 @@ static int has_any_coincidence(struct is
*/
static __isl_give isl_map *final_row(struct isl_sched_node *node)
{
- isl_local_space *ls;
- isl_aff *aff;
+ isl_multi_aff *ma;
int row;
row = isl_mat_rows(node->sched) - 1;
- ls = isl_local_space_from_space(isl_space_copy(node->space));
- aff = extract_schedule_row(ls, node, row);
- return isl_map_from_aff(aff);
+ ma = node_extract_partial_schedule_multi_aff(node, row, 1);
+ return isl_map_from_multi_aff(ma);
}
/* Is the conditional validity dependence in the edge with index "edge_index"
Modified: polly/trunk/lib/External/isl/isl_space.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_space.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_space.c (original)
+++ polly/trunk/lib/External/isl/isl_space.c Fri Apr 28 01:11:17 2017
@@ -590,7 +590,7 @@ isl_bool isl_space_has_tuple_name(__isl_
return id && id->name;
}
-const char *isl_space_get_tuple_name(__isl_keep isl_space *dim,
+__isl_keep const char *isl_space_get_tuple_name(__isl_keep isl_space *dim,
enum isl_dim_type type)
{
isl_id *id;
@@ -1524,41 +1524,43 @@ __isl_give isl_space *isl_space_factor_r
return space;
}
-__isl_give isl_space *isl_space_map_from_set(__isl_take isl_space *dim)
+__isl_give isl_space *isl_space_map_from_set(__isl_take isl_space *space)
{
isl_ctx *ctx;
isl_id **ids = NULL;
+ int n_id;
- if (!dim)
+ if (!space)
return NULL;
- ctx = isl_space_get_ctx(dim);
- if (!isl_space_is_set(dim))
+ ctx = isl_space_get_ctx(space);
+ if (!isl_space_is_set(space))
isl_die(ctx, isl_error_invalid, "not a set space", goto error);
- dim = isl_space_cow(dim);
- if (!dim)
+ space = isl_space_cow(space);
+ if (!space)
return NULL;
- if (dim->ids) {
- ids = isl_calloc_array(dim->ctx, isl_id *,
- dim->nparam + dim->n_out + dim->n_out);
+ n_id = space->nparam + space->n_out + space->n_out;
+ if (n_id > 0 && space->ids) {
+ ids = isl_calloc_array(space->ctx, isl_id *, n_id);
if (!ids)
goto error;
- get_ids(dim, isl_dim_param, 0, dim->nparam, ids);
- get_ids(dim, isl_dim_out, 0, dim->n_out, ids + dim->nparam);
+ get_ids(space, isl_dim_param, 0, space->nparam, ids);
+ get_ids(space, isl_dim_out, 0, space->n_out,
+ ids + space->nparam);
}
- dim->n_in = dim->n_out;
+ space->n_in = space->n_out;
if (ids) {
- free(dim->ids);
- dim->ids = ids;
- dim->n_id = dim->nparam + dim->n_out + dim->n_out;
- dim = copy_ids(dim, isl_dim_out, 0, dim, isl_dim_in);
+ free(space->ids);
+ space->ids = ids;
+ space->n_id = n_id;
+ space = copy_ids(space, isl_dim_out, 0, space, isl_dim_in);
}
- isl_id_free(dim->tuple_id[0]);
- dim->tuple_id[0] = isl_id_copy(dim->tuple_id[1]);
- isl_space_free(dim->nested[0]);
- dim->nested[0] = isl_space_copy(dim->nested[1]);
- return dim;
+ isl_id_free(space->tuple_id[0]);
+ space->tuple_id[0] = isl_id_copy(space->tuple_id[1]);
+ isl_space_free(space->nested[0]);
+ space->nested[0] = isl_space_copy(space->nested[1]);
+ return space;
error:
- isl_space_free(dim);
+ isl_space_free(space);
return NULL;
}
Modified: polly/trunk/lib/External/isl/isl_tab_pip.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_tab_pip.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_tab_pip.c (original)
+++ polly/trunk/lib/External/isl/isl_tab_pip.c Fri Apr 28 01:11:17 2017
@@ -998,7 +998,8 @@ static struct isl_vec *get_row_split_div
*
* m d <= e
*/
-static struct isl_vec *ineq_for_div(struct isl_basic_set *bset, unsigned div)
+static __isl_give isl_vec *ineq_for_div(__isl_keep isl_basic_set *bset,
+ unsigned div)
{
unsigned total;
unsigned div_pos;
@@ -2235,8 +2236,8 @@ static int add_parametric_cut(struct isl
* of the variables in all constraints are negated prior to adding them
* to the tableau.
*/
-static struct isl_tab *tab_for_lexmin(struct isl_basic_map *bmap,
- struct isl_basic_set *dom, unsigned M, int max)
+static __isl_give struct isl_tab *tab_for_lexmin(__isl_keep isl_basic_map *bmap,
+ __isl_keep isl_basic_set *dom, unsigned M, int max)
{
int i;
struct isl_tab *tab;
@@ -2748,7 +2749,7 @@ struct isl_context_op isl_context_lex_op
context_lex_free,
};
-static struct isl_tab *context_tab_for_lexmin(struct isl_basic_set *bset)
+static struct isl_tab *context_tab_for_lexmin(__isl_take isl_basic_set *bset)
{
struct isl_tab *tab;
@@ -2885,7 +2886,8 @@ static struct isl_vec *gbr_get_shifted_s
return sample;
}
-static struct isl_basic_set *drop_constant_terms(struct isl_basic_set *bset)
+static __isl_give isl_basic_set *drop_constant_terms(
+ __isl_take isl_basic_set *bset)
{
int i;
@@ -4267,8 +4269,8 @@ static int find_context_div(struct isl_b
* after any other integer divisions that the map may have.
* This function performs the required reordering.
*/
-static struct isl_basic_map *align_context_divs(struct isl_basic_map *bmap,
- struct isl_basic_set *dom)
+static __isl_give isl_basic_map *align_context_divs(
+ __isl_take isl_basic_map *bmap, __isl_keep isl_basic_set *dom)
{
int i;
int common = 0;
Modified: polly/trunk/lib/External/isl/isl_test.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_test.c?rev=301624&r1=301623&r2=301624&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_test.c (original)
+++ polly/trunk/lib/External/isl/isl_test.c Fri Apr 28 01:11:17 2017
@@ -3714,6 +3714,55 @@ static int test_special_conditional_sche
return 0;
}
+/* Check that the test for violated conditional validity constraints
+ * is not confused by domain compression.
+ * In particular, earlier versions of isl would apply
+ * a schedule on the compressed domains to the original domains,
+ * resulting in a failure to detect that the default schedule
+ * violates the conditional validity constraints.
+ */
+static int test_special_conditional_schedule_constraints_2(isl_ctx *ctx)
+{
+ const char *str;
+ isl_bool empty;
+ isl_union_set *domain;
+ isl_union_map *validity, *condition;
+ isl_schedule_constraints *sc;
+ isl_schedule *schedule;
+ isl_union_map *umap;
+ isl_map *map, *ge;
+
+ str = "{ A[0, i] : 0 <= i <= 10; B[1, i] : 0 <= i <= 10 }";
+ domain = isl_union_set_read_from_str(ctx, str);
+ sc = isl_schedule_constraints_on_domain(domain);
+ str = "{ B[1, i] -> A[0, i + 1] }";
+ condition = isl_union_map_read_from_str(ctx, str);
+ str = "{ A[0, i] -> B[1, i - 1] }";
+ validity = isl_union_map_read_from_str(ctx, str);
+ sc = isl_schedule_constraints_set_conditional_validity(sc, condition,
+ isl_union_map_copy(validity));
+ schedule = isl_schedule_constraints_compute_schedule(sc);
+ umap = isl_schedule_get_map(schedule);
+ isl_schedule_free(schedule);
+ validity = isl_union_map_apply_domain(validity,
+ isl_union_map_copy(umap));
+ validity = isl_union_map_apply_range(validity, umap);
+ map = isl_map_from_union_map(validity);
+ ge = isl_map_lex_ge(isl_space_domain(isl_map_get_space(map)));
+ map = isl_map_intersect(map, ge);
+ empty = isl_map_is_empty(map);
+ isl_map_free(map);
+
+ if (empty < 0)
+ return -1;
+ if (!empty)
+ isl_die(ctx, isl_error_unknown,
+ "conditional validity constraints not satisfied",
+ return -1);
+
+ return 0;
+}
+
/* Input for testing of schedule construction based on
* conditional constraints.
*
@@ -3818,6 +3867,8 @@ static int test_conditional_schedule_con
if (test_special_conditional_schedule_constraints(ctx) < 0)
return -1;
+ if (test_special_conditional_schedule_constraints_2(ctx) < 0)
+ return -1;
for (i = 0; i < ARRAY_SIZE(live_range_tests); ++i) {
domain = isl_union_set_read_from_str(ctx,
More information about the llvm-commits
mailing list