isl_tab_basic_map_partial_lexopt: better exploit partial solution cache
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 <e5350bbed4977f5eb8ae1dc6abd9ae59d21ace75@kotnet.org>

evaautomation/isl,abduld/isl,crossbuild/isl,crossbuild/isl,Distrotech/isl,UBERTC/isl,tobig/isl,epowers/isl,crossbuild/isl,VanirLLVM/toolchain_isl,VanirLLVM/toolchain_isl,simbuerg/isl,PollyLabs/isl,BenzoSM/isl,serge-sans-paille/isl,inducer/isl-mirror,SaberMod/isl-current,KangDroidSMProject/ISL,Meinersbur/isl,simbuerg/isl,inducer/isl-mirror,Meinersbur/isl,KangDroidSMProject/ISL,jleben/isl,jleben/isl,abduld/isl,BobSaget-Mod/libisl,evaautomation/isl,simbuerg/isl,BenzoSM/isl,serge-sans-paille/isl,Distrotech/isl,abduld/isl,serge-sans-paille/isl,UBERTC/isl,VanirLLVM/toolchain_isl,nicolasvasilache/isl,cfx-next/toolchain_isl-upstream,simbuerg/isl,Distrotech/isl,tobig/isl,cfx-next/toolchain_isl-upstream,serge-sans-paille/isl,KangDroidSMProject/ISL,evaautomation/isl,SaberMod/isl-current,PollyLabs/isl,BenzoSM/isl,nicolasvasilache/isl,simbuerg/isl,cfx-next/toolchain_isl-upstream,cfx-next/toolchain_isl-upstream,jleben/isl,nicolasvasilache/isl,jleben/isl,inducer/isl-mirror,Meinersbur/isl,serge-sans-paille/isl,PollyLabs/isl,VanirLLVM/toolchain_isl,Distrotech/isl,BenzoSM/isl,VanirLLVM/toolchain_isl,epowers/isl,crossbuild/isl,jleben/isl,epowers/isl,SaberMod/isl-current,BobSaget-Mod/libisl,UBERTC/isl,cfx-next/toolchain_isl-upstream,tobig/isl,Distrotech/isl,abduld/isl,inducer/isl-mirror,BobSaget-Mod/libisl,PollyLabs/isl,evaautomation/isl,epowers/isl,KangDroidSMProject/ISL,BobSaget-Mod/libisl,Meinersbur/isl,nicolasvasilache/isl,BobSaget-Mod/libisl,tobig/isl,inducer/isl-mirror,nicolasvasilache/isl,epowers/isl,BenzoSM/isl,UBERTC/isl,KangDroidSMProject/ISL,SaberMod/isl-current,PollyLabs/isl