[PATCH] use MIN fusion for ISL-14

Sebastian Pop s.pop@samsung.com
Tue Sep 29 22:19:00 GMT 2015


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



More information about the Gcc-patches mailing list