isl_tab_basic_map_partial_lexopt: split on parametric rows first
If a tableau used for parametric integer programming contains
a purely parametric row with an indeterminate sign, then this
means that a solution only exists in the part of the context
where this constraint holds. Such constraints should be
transferred to the context first such that they can be used
to more accurately determine the possible signs of other rows and
to possible avoid further splits.
Since
isl-0.11.1-63-ga47882c4b5 (isl_basic_map_lexopt: preinitialize
domain, Tue Mar 12 17:23:49 2013 +0100), with further refinements
in
isl-0.17.1-128-g8590c53694 (isl_*_lexopt: use actual domain of
input as initial context, Tue Jun 14 13:12:04 2016 +0200),
those constraints are already copied to the context in the input,
but isl_basic_map_foreach_lexopt does not perform this copying.
Furthermore, there may be linear combinations of the original
constraints that are purely parametric and that only appear
during the course of solving the PIP problem.
Requested-by: Philip Pfaffe <philip.pfaffe@gmail.com>
Tested-by: Philip Pfaffe <philip.pfaffe@gmail.com>
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>