diff options
Diffstat (limited to 'gcc/graphite-blocking.c')
-rw-r--r-- | gcc/graphite-blocking.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c index 4961c7f..45f3bc6 100644 --- a/gcc/graphite-blocking.c +++ b/gcc/graphite-blocking.c @@ -201,10 +201,21 @@ scop_do_strip_mine (scop_p scop) int i; bool transform_done = false; + store_scattering (scop); + for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++) transform_done |= pbb_do_strip_mine (pbb); - return transform_done; + if (!transform_done) + return false; + + if (!graphite_legal_transform (scop)) + { + restore_scattering (scop); + return false; + } + + return true; } #endif |