http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50561
--- Comment #7 from Tobias Grosser <grosser at gcc dot gnu.org> 2012-02-08 15:38:19 UTC --- Created attachment 26614 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26614 A possible fix Here a possible fix. The commit message is: Removing old scattering dimensions after loop flattening is incorrect. As long as we use PPL we are not able to remove the old scattering dimensions. The reason is that these dimensions are not entirely unused. They are not necessary as part of the scheduling vector, as the earlier dimensions already unambiguously define the execution time, however they may still be needed to carry modulo constraints as introduced e.g. by strip mining. The correct solution would be to project these dimensions out of the scattering polyhedra. In case they are still required to carry modulo constraints they should be kept internally as existentially quantified dimensions. PPL does only support projection of rational polyhedra, however in this case we need an integer projection. With isl this will be trivial to implement. For now we just leave the dimensions. This is a little ugly, but should be correct. Could you verify it it works for you?