use MIN fusion for ISL-14
authorSebastian Pop <s.pop@samsung.com>
Tue, 29 Sep 2015 22:15:08 +0000 (22:15 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Tue, 29 Sep 2015 22:15:08 +0000 (22:15 +0000)
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.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>
From-SVN: r228268

gcc/ChangeLog
gcc/graphite-optimize-isl.c

index 7e34d4cfc161d3a8157a41a03f9be6c9f67d1c3d..f9858f129eab96bac86ffe47155cf6babcff654e 100644 (file)
@@ -1,3 +1,10 @@
+2015-09-29  Sebastian Pop  <s.pop@samsung.com>
+            Aditya Kumar  <aditya.k7@samsung.com>
+
+       PR tree-optimization/67754
+       * graphite-optimize-isl.c (optimize_isl): Call
+       isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
+
 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
 
        * builtins.c (expand_builtin_acc_on_device): Delete.
index 4b821741afb85c2459a9b2774bace840874801cb..512c64c3db3b7cf7dc179580fd4bda5151aa4a35 100644 (file)
@@ -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