X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_vertices.c;h=c6d4ec03d71b66927e2d602ada284f77da7eda17;hb=63fb8a7f484648c3caa25351c8c94ac2395ec563;hp=e7d849e3f248e18386dfe4254babce21266056f5;hpb=dbb61f82cfb84f18d8df5d2aa114fd114d559d39;p=platform%2Fupstream%2Fisl.git diff --git a/isl_vertices.c b/isl_vertices.c index e7d849e..c6d4ec0 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; } @@ -134,7 +134,7 @@ static int add_vertex(struct isl_vertex_list **list, goto error; isl_assert(bset->ctx, v->v.vertex->n_eq >= nvar, goto error); v->v.dom = isl_basic_set_copy(v->v.vertex); - v->v.dom = isl_basic_set_project_out(v->v.dom, isl_dim_set, 0, nvar); + v->v.dom = isl_basic_set_params(v->v.dom); if (!v->v.dom) goto error; @@ -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); @@ -991,10 +992,8 @@ __isl_give isl_basic_set *isl_vertex_get_domain(__isl_keep isl_vertex *vertex) v = &vertex->vertices->v[vertex->id]; if (!v->dom) { - unsigned nvar; - nvar = isl_basic_set_dim(v->vertex, isl_dim_set); v->dom = isl_basic_set_copy(v->vertex); - v->dom = isl_basic_set_project_out(v->dom, isl_dim_set, 0, nvar); + v->dom = isl_basic_set_params(v->dom); } return isl_basic_set_copy(v->dom); @@ -1362,10 +1361,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(