isl_basic_map_remove_divs_involving_dims: insert bounds before removing divs
The div will be removed using Fourier-Motzkin elimination and the extra
bounds can be used to improve accuracy of the result.
For example, eliminating the div from the following set
{ [i,j,k] : 3 + i + 2j >= 0 and 2 * [(i+2j)/4] <= k }
we now first use the first constraint to derive a lower bound
on the div:
[(i + 2j)/4] >= [-3/4] = -1
During the elimination, this bound can be combined with the upper bound
to result in the additional constraint
k >= -2
Although this technique can be applied in general, it is especially
useful after the next commit, where we will eliminate divs
that appear with a unit coefficient. If the same div also appears
in other constraints with a non-unit coefficient, and we later
decide to eliminate the div, then this technique can be used to
recover some of those constraints so that we can avoid losing accuracy.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>