isl_coalesce.c: coalesce: keep track of how a pair of basic maps is combined
isl_coalesce.c: coalesce: keep track of how a pair of basic maps is combined

This allows us to avoid rechecking pairs of basic maps that have
been considered before when any coalescing has been performed,
based on the way the two basic maps were coalesced.
In particular, the two basic maps may have been fused together or
one of the basic maps may have been dropped because it is a subset
of the other.  When the basic map that is compared against other
basic maps is dropped, then we can move on to a new basic map
and compare that to the already considered basic maps.
When the other basic map is dropped, then we continue comparing
the current basic map against the other basic maps.
Only when the two are fused do we need to start over with the fused
basic map.

Signed-off-by: Sven Verdoolaege <e5350bbed4977f5eb8ae1dc6abd9ae59d21ace75@kotnet.org>

UBERTC/isl,SaberMod/isl-current,abduld/isl,Distrotech/isl,SaberMod/isl-current,BenzoSM/isl,KangDroidSMProject/ISL,tobig/isl,simbuerg/isl,inducer/isl-mirror,SaberMod/isl-current,inducer/isl-mirror,simbuerg/isl,evaautomation/isl,nicolasvasilache/isl,UBERTC/isl,evaautomation/isl,BenzoSM/isl,PollyLabs/isl,Meinersbur/isl,PollyLabs/isl,PollyLabs/isl,tobig/isl,KangDroidSMProject/ISL,inducer/isl-mirror,tobig/isl,abduld/isl,abduld/isl,simbuerg/isl,Meinersbur/isl,Meinersbur/isl,tobig/isl,simbuerg/isl,nicolasvasilache/isl,nicolasvasilache/isl,PollyLabs/isl,inducer/isl-mirror,BenzoSM/isl,BenzoSM/isl,simbuerg/isl,BenzoSM/isl,UBERTC/isl,KangDroidSMProject/ISL,PollyLabs/isl,Distrotech/isl,abduld/isl,inducer/isl-mirror,evaautomation/isl,Distrotech/isl,Distrotech/isl,KangDroidSMProject/ISL,nicolasvasilache/isl,KangDroidSMProject/ISL,Meinersbur/isl,evaautomation/isl,UBERTC/isl,SaberMod/isl-current,Distrotech/isl,nicolasvasilache/isl