From d85e17126dcf9e1353a70406fbb66979674e04cd Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 20 Mar 2011 16:40:41 +0100 Subject: [PATCH] isl_basic_map_lexmin: turn off equality detection on non-parametric problems Detecting equalities can be quite expensive and has mostly been shown effective on parametric problems. For non-parametric problems, we are effectively computing several solutions as a preprocessing step to computing a single solution, albeit a special one. Until we obtain more evidence that this is useful, it seems prudent to turn off this equality detection on non-parametric problems. Signed-off-by: Sven Verdoolaege --- isl_tab_pip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/isl_tab_pip.c b/isl_tab_pip.c index b63d3b7..22ab3dd 100644 --- a/isl_tab_pip.c +++ b/isl_tab_pip.c @@ -4432,6 +4432,9 @@ struct isl_map *isl_tab_basic_map_partial_lexopt( isl_assert(bmap->ctx, isl_basic_map_compatible_domain(bmap, dom), goto error); + if (isl_basic_set_dim(dom, isl_dim_all) == 0) + return basic_map_partial_lexopt(bmap, dom, empty, max); + bmap = isl_basic_map_intersect_domain(bmap, isl_basic_set_copy(dom)); bmap = isl_basic_map_detect_equalities(bmap); bmap = isl_basic_map_remove_redundancies(bmap); -- 2.7.4