From 557655132fa1e45ca9a21366ea24989af11b09c9 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 25 Oct 2010 13:37:04 +0200 Subject: [PATCH] isl_map_gist_basic_map: drop empty pieces in result Signed-off-by: Sven Verdoolaege --- isl_map_simplify.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/isl_map_simplify.c b/isl_map_simplify.c index d0199c8..2d1179b 100644 --- a/isl_map_simplify.c +++ b/isl_map_simplify.c @@ -1870,11 +1870,17 @@ __isl_give isl_map *isl_map_gist_basic_map(__isl_take isl_map *map, 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) { + for (i = map->n - 1; i >= 0; --i) { map->p[i] = isl_basic_map_gist(map->p[i], isl_basic_map_copy(context)); if (!map->p[i]) goto error; + if (isl_basic_map_fast_is_empty(map->p[i])) { + isl_basic_map_free(map->p[i]); + if (i != map->n - 1) + map->p[i] = map->p[map->n - 1]; + map->n--; + } } isl_basic_map_free(context); ISL_F_CLR(map, ISL_MAP_NORMALIZED); -- 2.7.4