isl_basic_map_gist: drop normalization of divs in context
commitd08ee60e33071a13d19d067595facfd1f4221060
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 20 Jun 2015 12:54:17 +0000 (20 14:54 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 28 Jul 2015 14:09:25 +0000 (28 16:09 +0200)
treef22bf128d501b72e51f6fec2969c07e8bf3f06ce
parent9d835a50b5ca96c7fd945b7c37869bcc17652938
isl_basic_map_gist: drop normalization of divs in context

It is not entirely clear why this functionality was added in a9e3a33
(isl_basic_map_gist: normalize divs (if any) in context,
Sun Mar 22 18:36:52 2009 +0100), but it appears to do more harm than good,
possibly because the gist operation has become more sophisticated since then.

Prior to the actual normalization, the divs of the input are aligned
to the context, which means that equalities on the original divs
may get translated into equalities on the context divs.
The simplification of the corresponding div constraints that get
added in the process using those equalities may then result in spurious
constraints.

If the normalization has any effect, then we may even end up with
additional divs that did not appear in either the original input
or the context, which can itself also be counterintuitive.

The normalization process also requires the equalities of the context
to be added to the input first.  While these equalities also get
added later on in the gist process, we actually want to get rid of those
in the end, especially if they introduce variables that did not
appear in the input.  Not performing the normalization is then
a first step to not introducing such variables.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_map_simplify.c
test_inputs/codegen/omega/iter9-0.c