aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-optimize-isl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/graphite-optimize-isl.c')
-rw-r--r--gcc/graphite-optimize-isl.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index 53355bb57dc..c09264bf093 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -404,7 +404,7 @@ optimize_isl (scop_p scop)
isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
/* ISL-0.15 or later. */
- isl_options_set_schedule_serialize_sccs (scop->isl_context, 1);
+ isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
#else
isl_options_set_schedule_fuse (scop->isl_context, ISL_SCHEDULE_FUSE_MIN);
#endif
@@ -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 */