detect all one-time loops and convert them to an assignment followed by a guard
If the lower and upper bound of a loop are exactly the same, then
CLooG would already convert the loop to an assignment to the loop
iterator. However, even if the bounds are different, the loop
may still be executed at most once and then it is better
to generate an assignment of the lower bound to the iterator
followed by a comparison with the upper bound.
One advantage is that the result can be handled by if-conversion.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>