isl_coalesce.c: coalesce_with_subs: do not add div constraints to basic map
commit172b680822c3b8e6c30e3b6dff519b2299938ef4
authorSven Verdoolaege <skimo@kotnet.org>
Wed, 15 Jul 2015 09:01:01 +0000 (15 11:01 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 16 Jul 2015 18:02:34 +0000 (16 20:02 +0200)
tree6f6a2a2bea1dd36dd7e13be7ee0d381d79ff54d2
parent2b783a80d4a29b5958e5653ba19ea062f429cf89
isl_coalesce.c: coalesce_with_subs: do not add div constraints to basic map

Ever since 81fed9f (isl_map_coalesce: handle divs that have been simplified
away in one basic map, Fri Oct 10 11:49:16 2014 +0200), we try adding
back divs to a basic map from another basic map that may have been
simplified away using the equalities in the basic map.
In this process, the div constraints also get added to the basic map and
they therefore also get added to the tableau, if only since e72b919
(isl_coalesce.c: coalesce_with_subs: add div constraints to tableau,
Thu Jan 29 10:59:15 2015 +0100).
However, the tableau also contains the equalities on the variables
corresponding to the integer divisions that are derived from the equalities
in both basic maps.  Combined with the div constraints, these equalities
may imply constraints on the other variables that do not hold
in the original input.

Instead of adding the div constraints to both basic map and tableau,
do not add them to either.  This also preserves the consistency
between basic map and tableau and avoids the problem above.

Although this issue has led to the wrong coalescing conclusion
in practice, it is difficult to extract a test case.

Reported-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_coalesce.c