This patch fixes PR66754 by reverting an earlier unintended change. We now generate a much simpler AST for interchange-1.c:
ISL AST generated by ISL: { for (int c1 = 0; c1 <= 1334; c1 += 1) { S_7(c1); for (int c3 = 0; c3 <= 1334; c3 += 1) S_4(c1, c3); S_5(c1); } for (int c1 = 0; c1 <= 1334; c1 += 1) S_10(c1); S_8(); } Bootstrap and check pass on x86_64-linux with isl-0.14.1 PR tree-optimization/67754 * graphite-optimize-isl.c (optimize_isl): Call isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14. --- gcc/graphite-optimize-isl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c index 4b82174..512c64c 100644 --- a/gcc/graphite-optimize-isl.c +++ b/gcc/graphite-optimize-isl.c @@ -327,9 +327,10 @@ optimize_isl (scop_p scop) isl_options_set_schedule_max_constant_term (scop->ctx, CONSTANT_BOUND); isl_options_set_schedule_maximize_band_depth (scop->ctx, 1); #ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS + /* ISL-0.15 or later. */ isl_options_set_schedule_serialize_sccs (scop->ctx, 1); #else - isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MAX); + isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN); #endif #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE -- 2.1.0.243.g30d45f7