From: Sven Verdoolaege Date: Mon, 25 Oct 2010 11:37:04 +0000 (+0200) Subject: isl_map_gist_basic_map: drop empty pieces in result X-Git-Tag: isl-0.05~100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=557655132fa1e45ca9a21366ea24989af11b09c9;p=platform%2Fupstream%2Fisl.git isl_map_gist_basic_map: drop empty pieces in result Signed-off-by: Sven Verdoolaege --- 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);