isl_tab_basic_map_partial_lexopt: better exploit partial solution cache
commitd7e5adb631b2a43c5c19cdc6e58b3345f87a530f
authorSven Verdoolaege <skimo@kotnet.org>
Tue, 12 Mar 2013 16:25:04 +0000 (12 17:25 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 19 Mar 2013 13:47:44 +0000 (19 14:47 +0100)
tree2488c8adc4a469057e5a21607a9d4ac474b616a1
parenta47882c4b55df049b413b352f19920714fb316bf
isl_tab_basic_map_partial_lexopt: better exploit partial solution cache

In 4fff507 (isl_tab_pip: keep cache of partial solutions,
Fri Oct 16 14:46:28 2009 +0200) we introduced a cache of partial solutions
so that we could attempt to merge them before adding them to the result.
The merging happens during backtracking, however, and once we reached
the end of the search tree, we would not backtrack back to the root anymore.

We now do track back to the root of the search tree such that partial
solution in the final part of the search tree could also potentially
be merged.  We only do this if there is some chance that we may find
identical partial solutions since the rollback of the context tableau
does not come for free.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_tab_pip.c