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>