X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_vertices.c;h=efd534b442e021b17df7683556a7ab08ca7ad574;hb=de51a9bc4da5dd3f1f9f57c2362da6f9752c44e0;hp=e7d849e3f248e18386dfe4254babce21266056f5;hpb=589fefc83fa2321d3f05b2ee500839a65c46c1b2;p=platform%2Fupstream%2Fisl.git diff --git a/isl_vertices.c b/isl_vertices.c index e7d849e..efd534b 100644 --- a/isl_vertices.c +++ b/isl_vertices.c @@ -1,7 +1,7 @@ /* * Copyright 2010 INRIA Saclay * - * Use of this software is governed by the GNU LGPLv2.1 license + * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France, * Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod, @@ -101,7 +101,7 @@ static __isl_give isl_vertices *vertices_from_list(__isl_keep isl_basic_set *bse return vertices; error: - free(vertices); + isl_vertices_free(vertices); free_vertex_list(list); return NULL; } @@ -199,7 +199,8 @@ static __isl_give isl_vertices *vertices_0D(__isl_keep isl_basic_set *bset) goto error; vertices->n_vertices = 1; vertices->v[0].vertex = isl_basic_set_copy(bset); - if (!vertices->v[0].vertex) + vertices->v[0].dom = isl_basic_set_params(isl_basic_set_copy(bset)); + if (!vertices->v[0].vertex || !vertices->v[0].dom) goto error; vertices->c = isl_calloc_array(bset->ctx, struct isl_chamber, 1); @@ -210,7 +211,7 @@ static __isl_give isl_vertices *vertices_0D(__isl_keep isl_basic_set *bset) vertices->c[0].vertices = isl_calloc_array(bset->ctx, int, 1); if (!vertices->c[0].vertices) goto error; - vertices->c[0].dom = isl_basic_set_params(isl_basic_set_copy(bset)); + vertices->c[0].dom = isl_basic_set_copy(vertices->v[0].dom); if (!vertices->c[0].dom) goto error; @@ -422,7 +423,7 @@ __isl_give isl_vertices *isl_basic_set_compute_vertices( if (!bset) return NULL; - tab = isl_tab_from_basic_set(bset); + tab = isl_tab_from_basic_set(bset, 0); if (!tab) goto error; tab->strict_redundant = 1; @@ -494,6 +495,7 @@ __isl_give isl_vertices *isl_basic_set_compute_vertices( return vertices; error: + free_vertex_list(list); isl_mat_free(facets); free(selection); free(snap); @@ -876,12 +878,11 @@ static __isl_give isl_vertices *compute_chambers(__isl_take isl_basic_set *bset, bset = isl_basic_set_params(bset); - tab = isl_tab_from_basic_set(bset); + tab = isl_tab_from_basic_set(bset, 1); for (i = 0; i < bset->n_ineq; ++i) if (isl_tab_freeze_constraint(tab, i) < 0) goto error; - if (isl_tab_track_bset(tab, bset) < 0) - goto error; + isl_basic_set_free(bset); snap = isl_tab_snap(tab); @@ -1362,10 +1363,8 @@ __isl_give isl_vertices *isl_morph_vertices(__isl_take isl_morph *morph, isl_assert(vertices->bset->ctx, vertices->ref == 1, goto error); param_morph = isl_morph_copy(morph); - param_morph = isl_morph_remove_dom_dims(param_morph, isl_dim_set, - 0, isl_morph_dom_dim(morph, isl_dim_set)); - param_morph = isl_morph_remove_ran_dims(param_morph, isl_dim_set, - 0, isl_morph_ran_dim(morph, isl_dim_set)); + param_morph = isl_morph_dom_params(param_morph); + param_morph = isl_morph_ran_params(param_morph); for (i = 0; i < vertices->n_vertices; ++i) { vertices->v[i].dom = isl_morph_basic_set(