https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14741
--- Comment #39 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- Clang has this implemented via polyhedral optimization, see https://polly.llvm.org/ (news from September 2017). Can gcc do something similar?