isl_schedule_constraints_compute_schedule: detect implicit equality constraints
isl_schedule_constraints_compute_schedule: detect implicit equality constraints

Internally, the scheduler operates on the dual of the schedule constraints.
This dual is computed from a rational set, meaning that all local variables
need to be eliminated first.  This may result in a larger set
than the integer hull of the original set.  Detecting implicit
equality constraints before the elimination of local variables
can in some cases result in a tighter result.
This means the dual will contain more elements in those cases,
allowing for more valid schedule coefficients.

It would be sufficient to perform this detection right before
the local variables are eliminated in intra_coefficients and
inter_coefficients, but it appears that detecting the equality constraints
early can also reduce the computation time of some intermediate steps.
This commit therefore chooses to perform the detection
on the input schedule constraints.  Actually, it is being performed
while this input is being constructed, before the actual call
to isl_schedule_constraints_compute_schedule.

Signed-off-by: Sven Verdoolaege <235c10dd23b819f81cdc9756a251746bc184cab6@gmail.com>

Meinersbur/isl,Meinersbur/isl,Meinersbur/isl,Meinersbur/isl