From: Sven Verdoolaege Date: Sat, 12 Jun 2010 19:00:51 +0000 (+0200) Subject: isl_qpolynomial_lift: fix lifting in absence of divs X-Git-Tag: isl-0.03~109 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f6f8ac8fa68ebe512d317b967085e83eee84c644;p=platform%2Fupstream%2Fisl.git isl_qpolynomial_lift: fix lifting in absence of divs If there are no divs, then we still need to modify the (zero row) div matrix to make sure that the number of columns remains consistent. --- diff --git a/isl_polynomial.c b/isl_polynomial.c index b37a8da..df51fd4 100644 --- a/isl_polynomial.c +++ b/isl_polynomial.c @@ -2952,6 +2952,10 @@ error: __isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp, __isl_take isl_dim *dim) { + int i; + int extra; + unsigned total; + if (!qp || !dim) goto error; @@ -2964,15 +2968,12 @@ __isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp, if (!qp) goto error; + extra = isl_dim_size(dim, isl_dim_set) - + isl_dim_size(qp->dim, isl_dim_set); + total = isl_dim_total(qp->dim); if (qp->div->n_row) { - int i; - int extra; - unsigned total; int *exp; - extra = isl_dim_size(dim, isl_dim_set) - - isl_dim_size(qp->dim, isl_dim_set); - total = isl_dim_total(qp->dim); exp = isl_alloc_array(qp->div->ctx, int, qp->div->n_row); if (!exp) goto error; @@ -2982,12 +2983,12 @@ __isl_give isl_qpolynomial *isl_qpolynomial_lift(__isl_take isl_qpolynomial *qp, free(exp); if (!qp->upoly) goto error; - qp->div = isl_mat_insert_cols(qp->div, 2 + total, extra); - if (!qp->div) - goto error; - for (i = 0; i < qp->div->n_row; ++i) - isl_seq_clr(qp->div->row[i] + 2 + total, extra); } + qp->div = isl_mat_insert_cols(qp->div, 2 + total, extra); + if (!qp->div) + goto error; + for (i = 0; i < qp->div->n_row; ++i) + isl_seq_clr(qp->div->row[i] + 2 + total, extra); isl_dim_free(qp->dim); qp->dim = dim;