scheduler: drop constraints that can only be used for coalescing
In some scheduler inputs, there are validity schedule constraints
between two consecutive values for a given coordinate and
this for all values of the other coordinates.
The difference set will then have bounds that correspond
to the sizes in those other directions, assuming the instance set
is rectangular with fixed upper bounds.
These constraints can only be exploited to construct loop coalescing
schedules. While measures have been put in place to prevent or
recover from loop coalescing, there is little point in considering
such constraints in the first place.
Dropping such constraints can improve efficiency, especially
in the case of the Feautrier style scheduler where
coalescing is initially allowed and subsequently removed
by modifying the LP problem.
Dropping those constraints will prevent the coalescing
from happening in the first place.
This commit only removes the constraints described above,
which can clearly only be used for coalescing.
It does not remove all constraints that could potentially
be used for coalescing. The general coalescing preventing/repairing
measures are therefore still needed.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>