isl_map_gist: ensure divs of map are known
authorSven Verdoolaege <sven@cs.kuleuven.be>
Wed, 24 Dec 2008 14:54:07 +0000 (15:54 +0100)
committerSven Verdoolaege <sven@cs.kuleuven.be>
Wed, 24 Dec 2008 14:54:07 +0000 (15:54 +0100)
We assume that the divs of the context are known, because we currently
only support gisting in the context of a basic map and computing the
divs of a basic map may result in a union of basic maps.

isl_map.c

index ebe4e39..281a92b 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -5005,6 +5005,9 @@ error:
        return NULL;
 }
 
+/*
+ * Assumes context has no implicit divs.
+ */
 struct isl_map *isl_map_gist(struct isl_map *map, struct isl_basic_map *context)
 {
        int i;
@@ -5013,6 +5016,7 @@ struct isl_map *isl_map_gist(struct isl_map *map, struct isl_basic_map *context)
        if (!map || !context)
                return NULL;
        isl_assert(map->ctx, isl_dim_equal(map->dim, context->dim), goto error);
+       map = isl_map_compute_divs(map);
        for (i = 0; i < map->n; ++i)
                context = isl_basic_map_align_divs(context, map->p[i]);
        for (i = 0; i < map->n; ++i) {