isl_scheduler.c: isl_sched_node: normalize non-trivial rows
commitd340bbacc02f58085d4f3deb1af87834c7003b62
authorSven Verdoolaege <sven.verdoolaege@gmail.com>
Thu, 4 May 2017 08:36:31 +0000 (4 10:36 +0200)
committerSven Verdoolaege <sven.verdoolaege@gmail.com>
Thu, 25 May 2017 14:13:31 +0000 (25 16:13 +0200)
tree2857a5f4b38f67c4a44260ca1e6f8a28970bb930
parentbc90aa1bdfaf376016c13ff84234963ce2e4436a
isl_scheduler.c: isl_sched_node: normalize non-trivial rows

The rows of independent linear combinations of schedule coefficients
are currently only used to check whether a solution is trivial,
but in an upcoming commit, they will also be used to enforce
non-trivial solutions in the call to isl_tab_basic_set_non_trivial_lexmin.
In particular, the rows will be made non-zero in turn until
a (better) solution is found.
Since it is in general best to have non-zero coefficients
for the earliest variables possible, it is preferable
for these rows to not reference any more later variables then
strictly required.
The rows are therefore normalized to have as may final zeros as possible.
They are also made lexicographically non-negative, such that
a positive value for the first coefficient is preferred.

For the current use of the rows, the normalization has no effect.

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