Run isl_basic_map_finalize after isl_{basic_,}map_eliminate
authorAndreas Kloeckner <inform@tiker.net>
Mon, 10 Oct 2011 12:09:50 +0000 (08:09 -0400)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 10 Oct 2011 12:41:05 +0000 (14:41 +0200)
Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_map.c
isl_map_simplify.c

index d2a518c..7db8369 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -1560,11 +1560,9 @@ __isl_give isl_map *isl_map_eliminate(__isl_take isl_map *map,
        map = isl_map_cow(map);
        if (!map)
                return NULL;
-       isl_assert(map->ctx, first + n <= isl_map_dim(map, type), goto error);
-       first += pos(map->dim, type) - 1;
-       
+
        for (i = 0; i < map->n; ++i) {
-               map->p[i] = isl_basic_map_eliminate_vars(map->p[i], first, n);
+               map->p[i] = isl_basic_map_eliminate(map->p[i], type, first, n);
                if (!map->p[i])
                        goto error;
        }
index 1998b58..eafbb08 100644 (file)
@@ -1387,7 +1387,8 @@ __isl_give isl_basic_map *isl_basic_map_eliminate(
                        "index out of bounds", goto error);
 
        first += isl_basic_map_offset(bmap, type) - 1;
-       return isl_basic_map_eliminate_vars(bmap, first, n);
+       bmap = isl_basic_map_eliminate_vars(bmap, first, n);
+       return isl_basic_map_finalize(bmap);
 error:
        isl_basic_map_free(bmap);
        return NULL;