add isl_map_order_divs
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 2 Mar 2010 11:41:58 +0000 (12:41 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 4 Mar 2010 14:31:36 +0000 (15:31 +0100)
isl_map.c
isl_map_private.h

index 2de82a2..e290420 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -4932,6 +4932,25 @@ struct isl_basic_set *isl_basic_set_order_divs(struct isl_basic_set *bset)
                isl_basic_map_order_divs((struct isl_basic_map *)bset);
 }
 
+__isl_give isl_map *isl_map_order_divs(__isl_take isl_map *map)
+{
+       int i;
+
+       if (!map)
+               return 0;
+
+       for (i = 0; i < map->n; ++i) {
+               map->p[i] = isl_basic_map_order_divs(map->p[i]);
+               if (!map->p[i])
+                       goto error;
+       }
+
+       return map;
+error:
+       isl_map_free(map);
+       return NULL;
+}
+
 /* Look for a div in dst that corresponds to the div "div" in src.
  * The divs before "div" in src and dst are assumed to be the same.
  * 
index debd70c..911c59a 100644 (file)
@@ -83,6 +83,7 @@ struct isl_basic_set *isl_basic_set_set_to_empty(struct isl_basic_set *bset);
 struct isl_basic_set *isl_basic_set_order_divs(struct isl_basic_set *bset);
 void isl_basic_map_swap_div(struct isl_basic_map *bmap, int a, int b);
 struct isl_basic_map *isl_basic_map_order_divs(struct isl_basic_map *bmap);
+__isl_give isl_map *isl_map_order_divs(__isl_take isl_map *map);
 struct isl_basic_map *isl_basic_map_align_divs(
                struct isl_basic_map *dst, struct isl_basic_map *src);
 struct isl_basic_set *isl_basic_set_align_divs(