isl_*_partial_lex{min,max}_pw_multi_aff: handle existentially quantified vars
commitdc6b61fbb7b1b59be92f1f18be9836da523c064d
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 16 Jun 2016 13:36:00 +0000 (16 15:36 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Fri, 24 Jun 2016 09:56:17 +0000 (24 11:56 +0200)
tree990372244b779c90c49c7df1b269c3a978c0f323
parentaadd4e58b78a0af2101dff878dc2913d0b9fbf12
isl_*_partial_lex{min,max}_pw_multi_aff: handle existentially quantified vars

If the context involves existentially quantified variables without
a known explicit representation, then the construction of the solution
would fail because the affine expressions are constructed on top
of the local space of the (extended) context and an affine expression
is not allowed to refer to existentially quantified variables without
a known explicit representation.

Move those variables last such that they can be dropped from
the local space without losing the correspondence between
the variables in the local space and the columns in the matrix.
Exploit the equality constraints in the extended context to ensure
that the last columns in the matrix (i.e., those that will
be ignored) are zero.  These always exist as this is
the only way the matrix could refer to those variables
in the first place.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_tab_pip.c
pip_test.sh.in
test_inputs/exist2.pip [new file with mode: 0644]