cloog_loop_generate_general: add special treatment for loops with constant value
When the -noscalars option is used, the generated code could be different from
code generated without this option. The reason is that during separation
at a constant level, the domains of the different loops could differ in values
of earlier dimensions or of parameters. The result is that separation would
then be applied to these earlier dimensions and parameters.
This patch avoids separation if all loops under consideration can be
seen to have a fixed value at the current level. The check does not
depend on not using the -noscalars option. Since the check is applied
locally, it can also avoid some separations that are not avoided by
not using the -noscalars option.
In principle, the same optimization could be applied whenever all
constraints involving the current level are the same for the domains
of all loops, and the only differences are in constraints not involving
the current level.
Reported-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>