cloog_scattering_lazy_block: check whether entire schedule is injective
The current implementation assumes that if the iterations of two domains
are scheduled immediately after each other that they can be grouped
into a single block. This assumes, however, that no other iterations
(from the same domains or from different domains) are also mapped to
those iterations. That is, the schedule should be injective.
Since testing whether a schedule is injective can be fairly expensive,
we only check whether it is obviously injective. This results in
some fallout as blocking is now disabled on a couple of test cases
where the schedule is not obviously injective.
The check for an obviously injective schedule may be performed
multiple times in the new code. It would probably be cheaper
to perform the test only once, but that would require a change
in the interface between the core of CLooG and its backends.
Reported-by: christian <ctenllado@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>