isl_basic_map_gist: allow existentially quantified variables
The reason that isl_basic_map_gist did not allow
existentially quantified variables was that
isl_basic_map_align_divs did not allow existentially quantified variables.
This can be solved by letting isl_basic_map_align_divs
introduce unconstrained existentially quantified variables
in the corresponding locations.
However, the common idiom of having two basic maps align
to each other's integer divisions may introduce additional
existentially quantified variables in each call.
The callers therefore now need to be extra careful
not to apply this idiom if either basic map has
existentially quantified variables.
In fact, all callers except for the one inside isl_basic_map_gist
ensure that the basic maps have no existentially quantified variables,
either through an explicit check, the computation of integer divisions or
the removal of existentially quantified variables.
This changes one of the originally failing test cases
into a passing test case.
Requested-by: Uday Reddy B <udayreddy@gmail.com>
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>