summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Verdoolaege <skimo@kotnet.org>2011-03-20 16:40:41 +0100
committerSven Verdoolaege <skimo@kotnet.org>2011-04-11 21:31:41 +0200
commitd85e17126dcf9e1353a70406fbb66979674e04cd (patch)
tree63d7ed0b467faf826a0d73d0aac891835aa8b505
parent7fd9a297ac46dde1f8d6241a4e83efb290969c49 (diff)
downloadisl-d85e17126dcf9e1353a70406fbb66979674e04cd.tar.gz
isl-d85e17126dcf9e1353a70406fbb66979674e04cd.tar.bz2
isl-d85e17126dcf9e1353a70406fbb66979674e04cd.zip
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 <skimo@kotnet.org>
-rw-r--r--isl_tab_pip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/isl_tab_pip.c b/isl_tab_pip.c
index b63d3b7b..22ab3dd2 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);