summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isl_ilp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/isl_ilp.c b/isl_ilp.c
index e6bc6242..24f6c57c 100644
--- a/isl_ilp.c
+++ b/isl_ilp.c
@@ -375,6 +375,7 @@ enum isl_lp_result isl_basic_set_opt(__isl_keep isl_basic_set *bset, int max,
isl_mat *bset_div = NULL;
isl_mat *div = NULL;
enum isl_lp_result res;
+ int bset_n_div;
if (!bset || !obj)
return isl_lp_error;
@@ -388,14 +389,15 @@ enum isl_lp_result isl_basic_set_opt(__isl_keep isl_basic_set *bset, int max,
"expecting integer affine expression",
return isl_lp_error);
- if (bset->n_div == 0 && obj->ls->div->n_row == 0)
+ bset_n_div = isl_basic_set_dim(bset, isl_dim_div);
+ if (bset_n_div == 0 && obj->ls->div->n_row == 0)
return basic_set_opt(bset, max, obj, opt);
bset = isl_basic_set_copy(bset);
obj = isl_aff_copy(obj);
bset_div = extract_divs(bset);
- exp1 = isl_alloc_array(ctx, int, bset_div->n_row);
+ exp1 = isl_alloc_array(ctx, int, bset_n_div);
exp2 = isl_alloc_array(ctx, int, obj->ls->div->n_row);
if (!bset_div || !exp1 || !exp2)
goto error;