diff options
Diffstat (limited to 'gcc/graphite-optimize-isl.c')
-rw-r--r-- | gcc/graphite-optimize-isl.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c index 0d85975..c09264b 100644 --- a/gcc/graphite-optimize-isl.c +++ b/gcc/graphite-optimize-isl.c @@ -441,11 +441,23 @@ optimize_isl (scop_p scop) #else isl_union_map *schedule_map = get_schedule_map (schedule); #endif - apply_schedule_map_to_scop (scop, schedule_map); - isl_schedule_free (schedule); - isl_union_map_free (schedule_map); - return true; + if (isl_union_map_is_equal (scop->original_schedule, schedule_map)) + { + if (dump_file && dump_flags) + fprintf (dump_file, "\nISL schedule same as original schedule\n"); + + isl_schedule_free (schedule); + isl_union_map_free (schedule_map); + return false; + } + else + { + apply_schedule_map_to_scop (scop, schedule_map); + isl_schedule_free (schedule); + isl_union_map_free (schedule_map); + return true; + } } #endif /* HAVE_isl */ |