Sieve transformation: use local dimensions of the scattering relation to schedule strided points differently.
Unroll by N is a sieve by N followed by shifting i-th union part by -i to make it execute on the same iteration as the first part.
Closes #8 at the expense of branching control flow in CLooG-generated code to check for parameters being large enough. Noepilog version now seems useless.
Sieve transformation: use local dimensions of the scattering relation to schedule strided points differently. Unroll by N is a sieve by N followed by shifting i-th union part by -i to make it execute on the same iteration as the first part.
Closes #8 at the expense of branching control flow in CLooG-generated code to check for parameters being large enough. Noepilog version now seems useless.