isl_basic_map_gist: preserve original constraints
commitd77c620e7fb185fe0107dc788e3c36b23fb6bfbf
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 20 Jun 2015 15:30:19 +0000 (20 17:30 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 29 Jul 2015 14:51:08 +0000 (29 16:51 +0200)
treee7177f0e603cf4dce58132984ab3b3d239b52618
parent385b950e8a21fcd0218e79606164aa0dda4dc74f
isl_basic_map_gist: preserve original constraints

When there any equalities in the combined input and context,
then the input is first compressed based on those equalities.
After removing redundant constraints form the compressed input,
the result is transformed back to the original space.
The resulting constraints are however only equivalent to
a subset of the original constraints modulo those equalities.

Only transform the inequalities that are tested for being redundant,
but apply the conclusions on the original constraints.
This means in particular that the constraints do not need to
be mapped back to the original space, but can simply stay there.
Note, however, that the remaining original constraints still
undergo a reduction with respect to the complete set of equalities,
so the effect of this commit on its own is minimal.

Some of the constraints may turn into tautologies in the compressed
space, so take this possibility into account in mark_shifted_constraints.
The compression may also result in tightening of the constraints.
Before this commit, the tightened constraints would get mapped
back to the original space.  Now, the tightening needs to be
transposed to the original constraints explicitly.

Preserving the original constraints will make it easier
to avoid the introduction of variables that do not appear
in the input.

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