isl_tab_basic_set_constrained_lexmin: allow imposing fixed values
commitae75b90c3631b31be5a9443551b209843e5bbfed
authorSven Verdoolaege <sven.verdoolaege@gmail.com>
Tue, 11 Jul 2017 09:24:11 +0000 (11 11:24 +0200)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Wed, 1 Nov 2017 21:08:05 +0000 (1 22:08 +0100)
tree1909229d9e79aeaec79c4eda24588e6c4c669309
parent82ef2a05dfe6b4244662ae56f7c35032037c0e45
isl_tab_basic_set_constrained_lexmin: allow imposing fixed values

That is, allow the caller to force linear combinations of
the schedule coefficients to be equal to some fixed values.
This can be done in addition to the non-zero constraints or
as an alternative to the non-zero constraints.
If a fixed value is combined with a non-zero constraint, then
the fixed value is imposed in all of the non-zero cases.
If a fixed value is imposed separately, then a single case
is considered in which the constraint is imposed.

Note that support for imposing fixed values in
isl_tab_basic_set_constrained_lexmin is not very useful on its own.
The caller could simply impose the constraints directly in the ILP
problem.  This support will become useful, however, when
the constraints can be made optional.

Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>
isl_scheduler.c
isl_tab.h
isl_tab_pip.c