[Polly] Update isl to isl-0.27-89-gdc16f8e3 (#188013)

Update isl to include

https://repo.or.cz/isl.git/commit/ee3677039011f2f87f3630f8b2a004f9e4944a08
which fixes #187216

Closes #187216

Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
This commit is contained in:
Michael Kruse 2026-03-23 12:04:21 +01:00 committed by GitHub
parent 733bc3409b
commit bd6e8a8c66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 8 deletions

View File

@ -1 +1 @@
isl-0.27-86-gcf471c16
isl-0.27-89-gdc16f8e3

View File

@ -11590,10 +11590,9 @@ static __isl_give isl_map *map_product(__isl_take isl_map *map1,
struct isl_basic_map *part;
part = basic_map_product(isl_basic_map_copy(map1->p[i]),
isl_basic_map_copy(map2->p[j]));
if (isl_basic_map_is_empty(part))
isl_basic_map_free(part);
else
result = isl_map_add_basic_map(result, part);
if (isl_basic_map_is_empty(part) < 0)
part = isl_basic_map_free(part);
result = isl_map_add_basic_map(result, part);
if (!result)
goto error;
}

View File

@ -105,16 +105,18 @@ isl_ctx *isl_tab_get_ctx(struct isl_tab *tab)
int isl_tab_extend_cons(struct isl_tab *tab, unsigned n_new)
{
unsigned off;
isl_ctx *ctx;
if (!tab)
return -1;
off = 2 + tab->M;
ctx = isl_tab_get_ctx(tab);
if (tab->max_con < tab->n_con + n_new) {
struct isl_tab_var *con;
con = isl_realloc_array(tab->mat->ctx, tab->con,
con = isl_realloc_array(ctx, tab->con,
struct isl_tab_var, tab->max_con + n_new);
if (!con)
return -1;
@ -128,14 +130,14 @@ int isl_tab_extend_cons(struct isl_tab *tab, unsigned n_new)
tab->n_row + n_new, off + tab->n_col);
if (!tab->mat)
return -1;
row_var = isl_realloc_array(tab->mat->ctx, tab->row_var,
row_var = isl_realloc_array(ctx, tab->row_var,
int, tab->mat->n_row);
if (!row_var)
return -1;
tab->row_var = row_var;
if (tab->row_sign) {
enum isl_tab_row_sign *s;
s = isl_realloc_array(tab->mat->ctx, tab->row_sign,
s = isl_realloc_array(ctx, tab->row_sign,
enum isl_tab_row_sign, tab->mat->n_row);
if (!s)
return -1;

View File

@ -222,6 +222,8 @@ static void sol_free(struct isl_sol *sol)
static void sol_context_add_eq(struct isl_sol *sol, isl_int *eq, int check,
int update)
{
if (sol->error)
return;
sol->context->op->add_eq(sol->context, eq, check, update);
if (!sol->context->op->is_ok(sol->context))
sol->error = 1;