--- pluto-0.11.4/src/constraints_isl.c.orig 2015-12-03 17:30:34.186845391 +0100 +++ pluto-0.11.4/src/constraints_isl.c 2015-12-03 17:33:59.340170110 +0100 @@ -73,7 +73,7 @@ { int i, j; int n_eq = 0, n_ineq = 0; - isl_dim *dim; + isl_space *dim; isl_mat *eq, *ineq; isl_basic_set *bset; @@ -86,7 +86,7 @@ eq = isl_mat_alloc(ctx, n_eq, cst->ncols); ineq = isl_mat_alloc(ctx, n_ineq, cst->ncols); - dim = isl_dim_set_alloc(ctx, 0, cst->ncols - 1); + dim = isl_space_set_alloc(ctx, 0, cst->ncols - 1); n_eq = n_ineq = 0; for (i = 0; i < cst->nrows; ++i) { @@ -127,7 +127,7 @@ { isl_set *set; - isl_space *dim = isl_dim_set_alloc(ctx, 0, cst->ncols - 1); + isl_space *dim = isl_space_set_alloc(ctx, 0, cst->ncols - 1); set = isl_set_empty(dim); while (cst != NULL) { @@ -353,7 +353,7 @@ // Allow only positive values. if(negvar == 0) { - all_positive = isl_basic_set_positive_orthant(isl_set_get_dim(domain)); + all_positive = isl_basic_set_positive_orthant(isl_set_get_space(domain)); all_positive_set = isl_set_from_basic_set(all_positive); domain = isl_set_intersect(domain, all_positive_set); } --- pluto-0.11.4/src/framework.c.orig 2015-10-28 16:24:59.000000000 +0100 +++ pluto-0.11.4/src/framework.c 2015-12-03 18:15:00.530066828 +0100 @@ -696,7 +696,7 @@ orthcst_i = isl_basic_set_intersect(orthcst_i, isl_basic_set_copy(isl_currcst)); - if (isl_basic_set_fast_is_empty(orthcst_i) + if (isl_basic_set_plain_is_empty(orthcst_i) || isl_basic_set_is_empty(orthcst_i)) { pluto_constraints_negate_row(orthcst[p], 0); } --- pluto-0.11.4/src/program.c.orig 2015-10-28 16:24:59.000000000 +0100 +++ pluto-0.11.4/src/program.c 2015-12-03 18:05:22.970091067 +0100 @@ -1439,13 +1439,13 @@ /* Set the dimension names of type "type" according to the elements * in the array "names". */ -static __isl_give isl_dim *set_names(__isl_take isl_dim *dim, +static __isl_give isl_space *set_names(__isl_take isl_space *dim, enum isl_dim_type type, char **names) { int i; - for (i = 0; i < isl_dim_size(dim, type); ++i) - dim = isl_dim_set_name(dim, type, i, names[i]); + for (i = 0; i < isl_space_dim(dim, type); ++i) + dim = isl_space_set_dim_name(dim, type, i, names[i]); return dim; } @@ -1456,7 +1456,7 @@ * One shot only; does not take into account the next ptr. */ static __isl_give isl_set *osl_relation_to_isl_set(osl_relation_p relation, - __isl_take isl_dim *dim) + __isl_take isl_space *dim) { int i, j; int n_eq = 0, n_ineq = 0; @@ -1464,7 +1464,7 @@ isl_mat *eq, *ineq; isl_basic_set *bset; - ctx = isl_dim_get_ctx(dim); + ctx = isl_space_get_ctx(dim); for (i = 0; i < relation->nb_rows; ++i) if (osl_int_zero(relation->precision, relation->m[i][0])) @@ -1503,18 +1503,18 @@ * to an isl_set. */ static __isl_give isl_set *osl_relation_list_to_isl_set( - osl_relation_p list, __isl_take isl_dim *dim) + osl_relation_p list, __isl_take isl_space *dim) { isl_set *set; - set = isl_set_empty(isl_dim_copy(dim)); + set = isl_set_empty(isl_space_copy(dim)); for (; list; list = list->next) { isl_set *set_i; - set_i = osl_relation_to_isl_set(list, isl_dim_copy(dim)); + set_i = osl_relation_to_isl_set(list, isl_space_copy(dim)); set = isl_set_union(set, set_i); } - isl_dim_free(dim); + isl_space_free(dim); return set; } @@ -1627,14 +1627,14 @@ * the isl_map { i -> A i + c } in the space prescribed by "dim". */ static __isl_give isl_map *osl_scattering_to_isl_map( - osl_relation_p scattering, __isl_take isl_dim *dim) + osl_relation_p scattering, __isl_take isl_space *dim) { int n_col; isl_ctx *ctx; isl_mat *eq, *ineq; isl_basic_map *bmap; - ctx = isl_dim_get_ctx(dim); + ctx = isl_space_get_ctx(dim); n_col = scattering->nb_columns; ineq = isl_mat_alloc(ctx, 0, n_col - 1); @@ -1664,14 +1664,14 @@ { int len, n_col; isl_ctx *ctx; - isl_dim *dim; + isl_space *dim; isl_mat *eq, *ineq; isl_union_map *res; ctx = isl_set_get_ctx(dom); - dim = isl_set_get_dim(dom); - dim = isl_dim_drop(dim, isl_dim_set, 0, isl_dim_size(dim, isl_dim_set)); + dim = isl_set_get_space(dom); + dim = isl_space_drop_dims(dim, isl_dim_set, 0, isl_space_dim(dim, isl_dim_set)); res = isl_union_map_empty(dim); for ( ; list; list = list->next) { @@ -1683,10 +1683,10 @@ isl_map *map; int arr = osl_relation_get_array_id(list->elt) - 1; - dim = isl_set_get_dim(dom); - dim = isl_dim_from_domain(dim); - dim = isl_dim_add(dim, isl_dim_out, len); - dim = isl_dim_set_tuple_name(dim, isl_dim_out, arrays[arr]); + dim = isl_set_get_space(dom); + dim = isl_space_from_domain(dim); + dim = isl_space_add_dims(dim, isl_dim_out, len); + dim = isl_space_set_tuple_name(dim, isl_dim_out, arrays[arr]); ineq = isl_mat_alloc(ctx, 0, n_col); eq = extract_equalities_osl_access(ctx, list->elt); @@ -1713,7 +1713,7 @@ { int len, n_col; isl_ctx *ctx; - isl_dim *dim; + isl_space *dim; isl_mat *eq, *ineq; ctx = isl_set_get_ctx(dom); @@ -1726,10 +1726,10 @@ isl_map *map; int arr = osl_relation_get_array_id(access) - 1; - dim = isl_set_get_dim(dom); - dim = isl_dim_from_domain(dim); - dim = isl_dim_add(dim, isl_dim_out, len); - dim = isl_dim_set_tuple_name(dim, isl_dim_out, arrays[arr]); + dim = isl_set_get_space(dom); + dim = isl_space_from_domain(dim); + dim = isl_space_add_dims(dim, isl_dim_out, len); + dim = isl_space_set_tuple_name(dim, isl_dim_out, arrays[arr]); ineq = isl_mat_alloc(ctx, 0, n_col); eq = extract_equalities_osl_access(ctx, access); @@ -1754,13 +1754,13 @@ { int len, n_col; isl_ctx *ctx; - isl_dim *dim; + isl_space *dim; isl_mat *eq, *ineq; ctx = isl_set_get_ctx(dom); - dim = isl_set_get_dim(dom); - dim = isl_dim_drop(dim, isl_dim_set, 0, isl_dim_size(dim, isl_dim_set)); + dim = isl_set_get_space(dom); + dim = isl_space_drop_dims(dim, isl_dim_set, 0, isl_space_dim(dim, isl_dim_set)); n_col = mat->ncols; @@ -1770,10 +1770,10 @@ len = mat->nrows; - dim = isl_set_get_dim(dom); - dim = isl_dim_from_domain(dim); - dim = isl_dim_add(dim, isl_dim_out, len); - dim = isl_dim_set_tuple_name(dim, isl_dim_out, access_name); + dim = isl_set_get_space(dom); + dim = isl_space_from_domain(dim); + dim = isl_space_add_dims(dim, isl_dim_out, len); + dim = isl_space_set_tuple_name(dim, isl_dim_out, access_name); ineq = isl_mat_alloc(ctx, 0, len + n_col); eq = pluto_extract_equalities(ctx, mat); @@ -1976,7 +1976,7 @@ int i, racc_num, wacc_num; int nstmts = osl_statement_number(scop->statement); isl_ctx *ctx; - isl_dim *dim; + isl_space *dim; isl_space *param_space; isl_set *context; isl_union_map *empty; @@ -1995,7 +1995,7 @@ osl_names_p names = get_scop_names(scop); - dim = isl_dim_set_alloc(ctx, scop->context->nb_parameters, 0); + dim = isl_space_set_alloc(ctx, scop->context->nb_parameters, 0); if (scop->context->nb_parameters){ scop_params = (osl_strings_p)scop->parameters->data; dim = set_names(dim, isl_dim_param, scop_params->string); @@ -2003,10 +2003,10 @@ param_space = isl_space_params(isl_space_copy(dim)); context = osl_relation_to_isl_set(scop->context, param_space); - if (!options->rar) dep_rar = isl_union_map_empty(isl_dim_copy(dim)); - empty = isl_union_map_empty(isl_dim_copy(dim)); - write = isl_union_map_empty(isl_dim_copy(dim)); - read = isl_union_map_empty(isl_dim_copy(dim)); + if (!options->rar) dep_rar = isl_union_map_empty(isl_space_copy(dim)); + empty = isl_union_map_empty(isl_space_copy(dim)); + write = isl_union_map_empty(isl_space_copy(dim)); + read = isl_union_map_empty(isl_space_copy(dim)); schedule = isl_union_map_empty(dim); if (!options->isldepaccesswise) { @@ -2027,7 +2027,7 @@ snprintf(name, sizeof(name), "S_%d", i); int niter = osl_statement_get_nb_iterators(stmt); - dim = isl_dim_set_alloc(ctx, scop->context->nb_parameters, niter); + dim = isl_space_set_alloc(ctx, scop->context->nb_parameters, niter); if(scop->context->nb_parameters){ scop_params = (osl_strings_p)scop->parameters->data; dim = set_names(dim, isl_dim_param, scop_params->string); @@ -2036,11 +2036,11 @@ osl_body_p stmt_body = osl_generic_lookup(stmt->extension, OSL_URI_BODY); dim = set_names(dim, isl_dim_set, stmt_body->iterators->string); } - dim = isl_dim_set_tuple_name(dim, isl_dim_set, name); + dim = isl_space_set_tuple_name(dim, isl_dim_set, name); dom = osl_relation_list_to_isl_set(stmt->domain, dim); dom = isl_set_intersect_params(dom, isl_set_copy(context)); - dim = isl_dim_alloc(ctx, scop->context->nb_parameters, niter, + dim = isl_space_alloc(ctx, scop->context->nb_parameters, niter, 2 * niter + 1); if(scop->context->nb_parameters){ scop_params = (osl_strings_p)scop->parameters->data; @@ -2050,7 +2050,7 @@ osl_body_p stmt_body = osl_generic_lookup(stmt->extension, OSL_URI_BODY); dim = set_names(dim, isl_dim_in, stmt_body->iterators->string); } - dim = isl_dim_set_tuple_name(dim, isl_dim_in, name); + dim = isl_space_set_tuple_name(dim, isl_dim_in, name); schedule_i = osl_scattering_to_isl_map(stmt->scattering, dim); osl_relation_list_p rlist = osl_access_list_filter_read(stmt->access); @@ -2102,7 +2102,7 @@ } int niter = osl_statement_get_nb_iterators(stmt); - dim = isl_dim_set_alloc(ctx, scop->context->nb_parameters, niter); + dim = isl_space_set_alloc(ctx, scop->context->nb_parameters, niter); if(scop->context->nb_parameters){ scop_params = (osl_strings_p)scop->parameters->data; dim = set_names(dim, isl_dim_param, scop_params->string); @@ -2117,11 +2117,11 @@ osl_strings_free(names->iterators); names->iterators = osl_strings_clone(stmt_body->iterators); } - dim = isl_dim_set_tuple_name(dim, isl_dim_set, name); + dim = isl_space_set_tuple_name(dim, isl_dim_set, name); dom = osl_relation_list_to_isl_set(stmt->domain, dim); dom = isl_set_intersect_params(dom, isl_set_copy(context)); - dim = isl_dim_alloc(ctx, scop->context->nb_parameters, niter, + dim = isl_space_alloc(ctx, scop->context->nb_parameters, niter, 2 * niter + 1); if(scop->context->nb_parameters){ scop_params = (osl_strings_p)scop->parameters->data; @@ -2131,7 +2131,7 @@ osl_body_p stmt_body = osl_generic_lookup(stmt->extension, OSL_URI_BODY); dim = set_names(dim, isl_dim_in, stmt_body->iterators->string); } - dim = isl_dim_set_tuple_name(dim, isl_dim_in, name); + dim = isl_space_set_tuple_name(dim, isl_dim_in, name); schedule_i = osl_scattering_to_isl_map(stmt->scattering, dim); --- pluto-0.11.4/src/math_support.c.orig 2015-10-28 16:24:59.000000000 +0100 +++ pluto-0.11.4/src/math_support.c 2018-04-02 09:57:55.132084856 +0200 @@ -30,7 +30,6 @@ #include "isl/val.h" #include "isl/val_gmp.h" -#include "isl/deprecated/int.h" /* * Allocated; not initialized --- pluto-0.11.4/src/program.c.orig 2018-04-02 09:31:52.542102698 +0200 +++ pluto-0.11.4/src/program.c 2018-04-02 10:59:32.638709304 +0200 @@ -58,8 +58,7 @@ #include #include #include -#include -#include +#include osl_relation_p get_identity_schedule(int dim, int npar); static int read_codegen_context_from_file(PlutoConstraints *codegen_context); @@ -1556,26 +1555,23 @@ { int i, j; int n_col, n_row; - isl_int v; isl_mat *eq; n_col = relation->nb_columns; n_row = relation->nb_rows; - isl_int_init(v); eq = isl_mat_alloc(ctx, n_row, n_col - 1); for (i = 0; i < n_row; ++i) { for (j = 0; j < n_col - 1; ++j) { int row = osl_relation_get_row_id_for_nth_dimension(relation, i+1); int t = osl_int_get_si(relation->precision, relation->m[row][1 + j]); - isl_int_set_si(v, t); - eq = isl_mat_set_element(eq, i, j, v); + isl_val *v = isl_val_int_from_si(ctx, t); + eq = isl_mat_set_element_val(eq, i, j, v); + isl_val_free(v); } } - isl_int_clear(v); - return eq; } @@ -1589,36 +1585,34 @@ { int i, j; int n_col, n_row; - isl_int v; isl_mat *eq; n_row = relation->nb_rows==1?1:relation->nb_rows-1; n_col = relation->nb_columns - (relation->nb_rows==1?1:2); - isl_int_init(v); eq = isl_mat_alloc(ctx, n_row, n_col); if(relation->nb_rows==1){ - isl_int_set_si(v, -1); - eq = isl_mat_set_element(eq, 0, 0, v); + isl_val *v = isl_val_int_from_si(ctx, -1); + eq = isl_mat_set_element_val(eq, 0, 0, v); + isl_val_set_si(v, 0); for (j = 1; j < n_col; ++j) { - isl_int_set_si(v, 0); - eq = isl_mat_set_element(eq, 0, j, v); + eq = isl_mat_set_element_val(eq, 0, j, v); } + isl_val_free(v); } else{ for (i = 1; i < relation->nb_rows; ++i) { for (j = 2; j < relation->nb_columns; ++j) { int row = osl_relation_get_row_id_for_nth_dimension(relation, i+1); int t = osl_int_get_si(relation->precision, relation->m[row][j]); - isl_int_set_si(v, t); - eq = isl_mat_set_element(eq, i-1, j-2, v); + isl_val *v = isl_val_int_from_si(ctx, t); + eq = isl_mat_set_element_val(eq, i-1, j-2, v); + isl_val_free(v); } } } - isl_int_clear(v); - return eq; } @@ -3389,7 +3383,7 @@ // IF_DEBUG2(printf("New access function is \n")); // IF_DEBUG2(pluto_matrix_print(stdout, newacc)); - assert(newacc->ncols = stmt->trans->nrows+npar+1); + assert(newacc->ncols == stmt->trans->nrows+npar+1); pluto_matrix_free(remap); free(remap_divs);