Revert "scheduler: also (optionally) bound coefficients computed by carry_dependences"
commitefc1dc5e7df18b4e48d7da411bc91f0f71181163
authorSven Verdoolaege <skimo@kotnet.org>
Thu, 28 May 2015 08:58:54 +0000 (28 10:58 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Thu, 28 May 2015 15:15:16 +0000 (28 17:15 +0200)
treecd9bb9adc7bfa9be1acb469ecc8efbc399c5deca
parentb09513b76ac99d0d10c8099435777721e0f8c62e
Revert "scheduler: also (optionally) bound coefficients computed by carry_dependences"

This reverts commit 095dbe323b6e6ae3ad92c210eb012723d7a8438c.

It makes little sense to try and bound the coefficients while looking
for a rational solution since we cannot prevent the LP solver from
increasing the denominator of the solution, allowing arbitrarily
large numerators.  It is these numerators that are used to construct
the corresponding schedule row.

Moreover, adding these extra constraints breaks assumptions
about what the solution of the LP problem will look like.
In particular, the bounded dependence distances could attain
values that are different from the expected extremes of zero and one.
Their sum may therefore not be an integer either,
leading to an inappropriate invocation of the isl_int_divexact
clearing the denominator of the presumed integer value
and resulting in undefined behavior.
While it is possible to avoid making these assumptions,
it is not worth it to do it for something that makes little sense.

Add a test case that could break before.

Reported-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_scheduler.c
isl_test.c