X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_map.c;h=c4636c146c83c2d370d27650c9c734d6eb9313cd;hb=de51a9bc4da5dd3f1f9f57c2362da6f9752c44e0;hp=d3c42255bd844c6514c8b6eefd8619da6f6ca267;hpb=9e01482d12e48c160f18cdee75508abcf195788e;p=platform%2Fupstream%2Fisl.git diff --git a/isl_map.c b/isl_map.c index d3c4225..c4636c1 100644 --- a/isl_map.c +++ b/isl_map.c @@ -1145,6 +1145,13 @@ int isl_basic_set_drop_equality(struct isl_basic_set *bset, unsigned pos) return isl_basic_map_drop_equality((struct isl_basic_map *)bset, pos); } +/* Turn inequality "pos" of "bmap" into an equality. + * + * In particular, we move the inequality in front of the equalities + * and move the last inequality in the position of the moved inequality. + * Note that isl_tab_make_equalities_explicit depends on this particular + * change in the ordering of the constraints. + */ void isl_basic_map_inequality_to_equality( struct isl_basic_map *bmap, unsigned pos) { @@ -3045,6 +3052,7 @@ __isl_give isl_basic_map *isl_basic_map_insert_dims( res = isl_basic_map_set_rational(res); if (isl_basic_map_plain_is_empty(bmap)) { isl_basic_map_free(bmap); + free(dim_map); return isl_basic_map_set_to_empty(res); } res = isl_basic_map_add_constraints_dim_map(res, bmap, dim_map); @@ -6333,7 +6341,11 @@ static struct isl_set *parameter_compute_divs(struct isl_basic_set *bset) if (bset->n_eq == 0) return isl_basic_set_lexmin(bset); - isl_basic_set_gauss(bset, NULL); + bset = isl_basic_set_gauss(bset, NULL); + if (!bset) + return NULL; + if (isl_basic_set_plain_is_empty(bset)) + return isl_set_from_basic_set(bset); nparam = isl_basic_set_dim(bset, isl_dim_param); n_div = isl_basic_set_dim(bset, isl_dim_div);