isl_tab_from_basic_map: preserve all constraints in input when tracking
[platform/upstream/isl.git] / isl_vertices.c
index e7d849e..3cc4026 100644 (file)
@@ -422,7 +422,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;
@@ -876,12 +876,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);
+       isl_basic_set_free(bset);
        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;
 
        snap = isl_tab_snap(tab);
 
@@ -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(