X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_convex_hull.c;h=2fe4f73962a970877c2bfad3581008e7641c3471;hb=7c513a3bc2033ec87934c7287262ba0ec65c9adb;hp=a6e26b8448f0ec47d7c2883aabd177894d3d24c2;hpb=af52e84245fb4bab6734d62da39f63f568371dcd;p=platform%2Fupstream%2Fisl.git diff --git a/isl_convex_hull.c b/isl_convex_hull.c index a6e26b8..2fe4f73 100644 --- a/isl_convex_hull.c +++ b/isl_convex_hull.c @@ -94,7 +94,7 @@ __isl_give isl_basic_map *isl_basic_map_remove_redundancies( if (bmap->n_ineq <= 1) return bmap; - tab = isl_tab_from_basic_map(bmap); + tab = isl_tab_from_basic_map(bmap, 0); if (isl_tab_detect_implicit_equalities(tab) < 0) goto error; if (isl_tab_detect_redundant(tab) < 0) @@ -1169,7 +1169,7 @@ static struct isl_vec *valid_direction( goto error; lp = valid_direction_lp(isl_basic_set_copy(bset1), isl_basic_set_copy(bset2)); - tab = isl_tab_from_basic_set(lp); + tab = isl_tab_from_basic_set(lp, 0); sample = isl_tab_get_sample_value(tab); isl_tab_free(tab); isl_basic_set_free(lp); @@ -1867,6 +1867,7 @@ static struct isl_basic_set *uset_convex_hull_wrap_bounded(struct isl_set *set) if (set->n == 1) { convex_hull = isl_basic_set_copy(set->p[0]); isl_set_free(set); + convex_hull = isl_basic_map_remove_redundancies(convex_hull); return convex_hull; } if (isl_set_n_dim(set) == 1) @@ -2117,7 +2118,7 @@ static int is_bound(struct sh_data *data, struct isl_set *set, int j, isl_int opt; if (!data->p[j].tab) { - data->p[j].tab = isl_tab_from_basic_set(set->p[j]); + data->p[j].tab = isl_tab_from_basic_set(set->p[j], 0); if (!data->p[j].tab) return -1; } @@ -2339,6 +2340,9 @@ struct isl_basic_map *isl_map_simple_hull(struct isl_map *map) hull = isl_basic_map_intersect(hull, affine_hull); hull = isl_basic_map_remove_redundancies(hull); + + if (!hull) + return NULL; ISL_F_SET(hull, ISL_BASIC_MAP_NO_IMPLICIT); ISL_F_SET(hull, ISL_BASIC_MAP_ALL_EQUALITIES);