isl_schedule_constraints_compute_schedule: allow partial carrying schedule rows
When we resort to carrying dependence (or when the user has specifically
requested the use of the Feautrier scheduler), we would hope to obtain
a schedule row that is non-trivial on all the full-dimensional iteration
domains. However, in certain cases this may not be possible.
This may especially happen after schedule domain compression since
that may cause some iteration domains to have lower dimension.
Accept anything the Feautrier scheduler returns, as long as at least
some dependences are carried. This may result in a final schedule
with a higher dimension that expected, but it should be better than
simply refusing to produce a schedule. Since we are still carrying
at least one basic map of dependences, termination is still guaranteed.
Reported-by: antoine.morvan.pro@gmail.com
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>