public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] gcc: fix building w/isl-0.15
@ 2015-07-14 14:45 Mike Frysinger
  2015-07-17 11:36 ` [PATCH] gcc/: Fix building with isl-0.15.0; includes Bernhard Reutner-Fischer
  2015-07-21 18:42 ` [PATCH] gcc: fix building w/isl-0.15 Jeff Law
  0 siblings, 2 replies; 10+ messages in thread
From: Mike Frysinger @ 2015-07-14 14:45 UTC (permalink / raw)
  To: gcc-patches

---
 gcc/config.in               |  6 ++++++
 gcc/configure               | 31 +++++++++++++++++++++++++++++++
 gcc/configure.ac            | 14 ++++++++++++++
 gcc/graphite-dependences.c  | 14 +++++++-------
 gcc/graphite-optimize-isl.c |  8 ++++++--
 gcc/graphite-poly.h         |  5 +++++
 6 files changed, 69 insertions(+), 9 deletions(-)

diff --git a/gcc/config.in b/gcc/config.in
index b031a62..23e1757 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -1326,6 +1326,12 @@
 #endif
 
 
+/* Define if isl_options_set_schedule_serialize_sccs exists. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+#endif
+
+
 /* Define if isl_schedule_constraints_compute_schedule exists. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
diff --git a/gcc/configure b/gcc/configure
index 9561e5c..6e81298 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -28456,6 +28456,8 @@ fi
 
 # Check whether isl_schedule_constraints_compute_schedule is available;
 # it's new in ISL-0.13.
+# Check whether isl_options_set_schedule_serialize_sccs is available;
+# it's new in ISL-0.15.
 if test "x${ISLLIBS}" != "x" ; then
   saved_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS="$CXXFLAGS $ISLINC"
@@ -28485,6 +28487,29 @@ rm -f core conftest.err conftest.$ac_objext \
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
 $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
+$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <isl/schedule.h>
+int
+main ()
+{
+isl_options_set_schedule_serialize_sccs (NULL, 0);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_has_isl_options_set_schedule_serialize_sccs=yes
+else
+  ac_has_isl_options_set_schedule_serialize_sccs=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
+$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
+
   LIBS="$saved_LIBS"
   CXXFLAGS="$saved_CXXFLAGS"
 
@@ -28493,6 +28518,12 @@ $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
 $as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
 
   fi
+
+  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
+
+$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
+
+  fi
 fi
 
 # Check for plugin support
diff --git a/gcc/configure.ac b/gcc/configure.ac
index cb14639..7fb964a 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -5725,6 +5725,8 @@ fi
 
 # Check whether isl_schedule_constraints_compute_schedule is available;
 # it's new in ISL-0.13.
+# Check whether isl_options_set_schedule_serialize_sccs is available;
+# it's new in ISL-0.15.
 if test "x${ISLLIBS}" != "x" ; then
   saved_CXXFLAGS="$CXXFLAGS"
   CXXFLAGS="$CXXFLAGS $ISLINC"
@@ -5738,6 +5740,13 @@ if test "x${ISLLIBS}" != "x" ; then
               [ac_has_isl_schedule_constraints_compute_schedule=no])
   AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
 
+  AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
+  AC_TRY_LINK([#include <isl/schedule.h>],
+              [isl_options_set_schedule_serialize_sccs (NULL, 0);],
+              [ac_has_isl_options_set_schedule_serialize_sccs=yes],
+              [ac_has_isl_options_set_schedule_serialize_sccs=no])
+  AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
+
   LIBS="$saved_LIBS"
   CXXFLAGS="$saved_CXXFLAGS"
 
@@ -5745,6 +5754,11 @@ if test "x${ISLLIBS}" != "x" ; then
      AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
                [Define if isl_schedule_constraints_compute_schedule exists.])
   fi
+
+  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
+     AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
+               [Define if isl_options_set_schedule_serialize_sccs exists.])
+  fi
 fi
 
 GCC_ENABLE_PLUGINS
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 50fe73e..9a0986d 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -205,7 +205,7 @@ scop_get_transformed_schedule (scop_p scop, vec<poly_bb_p> pbbs)
 /* Helper function used on each MAP of a isl_union_map.  Computes the
    maximal output dimension.  */
 
-static int
+static isl_stat
 max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
 {
   int global_max = *((int *) user);
@@ -217,7 +217,7 @@ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
 
   isl_map_free (map);
   isl_space_free (space);
-  return 0;
+  return isl_stat_ok;
 }
 
 /* Extends the output dimension of MAP to MAX dimensions.  */
@@ -241,12 +241,12 @@ struct extend_schedule_str {
 
 /* Helper function for extend_schedule.  */
 
-static int
+static isl_stat
 extend_schedule_1 (__isl_take isl_map *map, void *user)
 {
   struct extend_schedule_str *str = (struct extend_schedule_str *) user;
   str->umap = isl_union_map_add_map (str->umap, extend_map (map, str->max));
-  return 0;
+  return isl_stat_ok;
 }
 
 /* Return a relation that has uniform output dimensions.  */
@@ -255,16 +255,16 @@ __isl_give isl_union_map *
 extend_schedule (__isl_take isl_union_map *x)
 {
   int max = 0;
-  int res;
+  isl_stat res;
   struct extend_schedule_str str;
 
   res = isl_union_map_foreach_map (x, max_number_of_out_dimensions, (void *) &max);
-  gcc_assert (res == 0);
+  gcc_assert (res == isl_stat_ok);
 
   str.max = max;
   str.umap = isl_union_map_empty (isl_union_map_get_space (x));
   res = isl_union_map_foreach_map (x, extend_schedule_1, (void *) &str);
-  gcc_assert (res == 0);
+  gcc_assert (res == isl_stat_ok);
 
   isl_union_map_free (x);
   return str.umap;
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index f490401..388e25c 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -506,13 +506,13 @@ getScheduleMap (isl_schedule *Schedule, isl_union_map **map_sepcl)
   return ScheduleMap;
 }
 
-static int
+static isl_stat
 getSingleMap (__isl_take isl_map *map, void *user)
 {
   isl_map **singleMap = (isl_map **) user;
   *singleMap = map;
 
-  return 0;
+  return isl_stat_ok;
 }
 
 static void
@@ -584,7 +584,11 @@ 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_options_set_schedule_serialize_sccs (scop->ctx, 1);
+#else
   isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
+#endif
   isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
 
 #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index 7ffd18e..7022a1d 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -24,6 +24,11 @@ along with GCC; see the file COPYING3.  If not see
 
 #include "sese.h"
 
+#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+# define isl_stat int
+# define isl_stat_ok 0
+#endif
+
 typedef struct poly_dr *poly_dr_p;
 
 typedef struct poly_bb *poly_bb_p;
-- 
2.4.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] gcc/: Fix building with isl-0.15.0; includes
  2015-07-14 14:45 [PATCH] gcc: fix building w/isl-0.15 Mike Frysinger
@ 2015-07-17 11:36 ` Bernhard Reutner-Fischer
  2015-07-21 18:42 ` [PATCH] gcc: fix building w/isl-0.15 Jeff Law
  1 sibling, 0 replies; 10+ messages in thread
From: Bernhard Reutner-Fischer @ 2015-07-17 11:36 UTC (permalink / raw)
  To: gcc-patches; +Cc: Bernhard Reutner-Fischer, Tobias Grosser, Mike Frysinger

In addition to Mike's "[PATCH] gcc: fix building w/isl-0.15" in
https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01162.html
I seem to also need a couple of more includes for isl-0.15.0:

2015-07-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* graphite-blocking.c, graphite-dependences.c,
	graphite-interchange.c, graphite-isl-ast-to-gimple.c,
	graphite-optimize-isl.c, graphite-poly.c,
	graphite-scop-detection.c, graphite-sese-to-poly.c,
	graphite.c: Add missing isl includes.
---
 gcc/graphite-blocking.c          |    1 +
 gcc/graphite-dependences.c       |    1 +
 gcc/graphite-interchange.c       |    1 +
 gcc/graphite-isl-ast-to-gimple.c |    2 ++
 gcc/graphite-optimize-isl.c      |    2 ++
 gcc/graphite-poly.c              |    1 +
 gcc/graphite-scop-detection.c    |    1 +
 gcc/graphite-sese-to-poly.c      |    1 +
 gcc/graphite.c                   |    1 +
 9 files changed, 11 insertions(+)

diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
index 73d7c59..172bdcd 100644
--- a/gcc/graphite-blocking.c
+++ b/gcc/graphite-blocking.c
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 9a0986d..df52e54 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
index aee51a8..bcf7f3b 100644
--- a/gcc/graphite-interchange.c
+++ b/gcc/graphite-interchange.c
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/aff.h>
 #include <isl/set.h>
 #include <isl/map.h>
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index b32781a..7aafee2 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -24,7 +24,9 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
+#include <isl/union_set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
 #include <isl/ast_build.h>
diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
index 388e25c..2b55783 100644
--- a/gcc/graphite-optimize-isl.c
+++ b/gcc/graphite-optimize-isl.c
@@ -24,7 +24,9 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
+#include <isl/union_set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
 #include <isl/schedule.h>
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index bcd08d8..e3ddd57 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index 47e0da0..22fdde3 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 5064247..7b10289 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/union_map.h>
diff --git a/gcc/graphite.c b/gcc/graphite.c
index a81ef6a..32f405a 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -38,6 +38,7 @@ along with GCC; see the file COPYING3.  If not see
 /* Workaround for GMP 5.1.3 bug, see PR56019.  */
 #include <stddef.h>
 
+#include <isl/constraint.h>
 #include <isl/set.h>
 #include <isl/map.h>
 #include <isl/options.h>
-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-14 14:45 [PATCH] gcc: fix building w/isl-0.15 Mike Frysinger
  2015-07-17 11:36 ` [PATCH] gcc/: Fix building with isl-0.15.0; includes Bernhard Reutner-Fischer
@ 2015-07-21 18:42 ` Jeff Law
  2015-07-21 21:11   ` Sebastian Pop
  2015-07-22  0:40   ` Mike Frysinger
  1 sibling, 2 replies; 10+ messages in thread
From: Jeff Law @ 2015-07-21 18:42 UTC (permalink / raw)
  To: Mike Frysinger, gcc-patches

On 07/14/2015 08:45 AM, Mike Frysinger wrote:
> ---
>   gcc/config.in               |  6 ++++++
>   gcc/configure               | 31 +++++++++++++++++++++++++++++++
>   gcc/configure.ac            | 14 ++++++++++++++
>   gcc/graphite-dependences.c  | 14 +++++++-------
>   gcc/graphite-optimize-isl.c |  8 ++++++--
>   gcc/graphite-poly.h         |  5 +++++
>   6 files changed, 69 insertions(+), 9 deletions(-)
Thanks.  I needed Bernhard's follow-up to get a successful build with 
isl-0.15 installed.

For testing I verified there were no regressions using bootstrapped 
compilers built with isl-0.13 vs isl-0.15.  I also verified that GCC 
would bootstrap with the patch installed, but no ISL installed.

I've installed both patches on the trunk.

Thanks,
Jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-21 18:42 ` [PATCH] gcc: fix building w/isl-0.15 Jeff Law
@ 2015-07-21 21:11   ` Sebastian Pop
  2015-07-21 21:45     ` Mike Stump
  2015-07-23 18:11     ` Jeff Law
  2015-07-22  0:40   ` Mike Frysinger
  1 sibling, 2 replies; 10+ messages in thread
From: Sebastian Pop @ 2015-07-21 21:11 UTC (permalink / raw)
  To: Jeff Law; +Cc: Mike Frysinger, gcc-patches

Jeff Law wrote:
> On 07/14/2015 08:45 AM, Mike Frysinger wrote:
> >---
> >  gcc/config.in               |  6 ++++++
> >  gcc/configure               | 31 +++++++++++++++++++++++++++++++
> >  gcc/configure.ac            | 14 ++++++++++++++
> >  gcc/graphite-dependences.c  | 14 +++++++-------
> >  gcc/graphite-optimize-isl.c |  8 ++++++--
> >  gcc/graphite-poly.h         |  5 +++++
> >  6 files changed, 69 insertions(+), 9 deletions(-)
> Thanks.  I needed Bernhard's follow-up to get a successful build
> with isl-0.15 installed.
> 
> For testing I verified there were no regressions using bootstrapped
> compilers built with isl-0.13 vs isl-0.15.  I also verified that GCC
> would bootstrap with the patch installed, but no ISL installed.
> 
> I've installed both patches on the trunk.

Thanks Jeff.

Could somebody with access to sourceware.org upload a tar.bz2 of the required
version of isl from http://isl.gforge.inria.fr/isl-0.15.tar.bz2?

Also, once that is done, I will commit the following patch updating the
documentation.

Thanks,
Sebastian

From 189565d5f0cdcb54aac309316316456b88957ef6 Mon Sep 17 00:00:00 2001
From: Sebastian Pop <sebpop@gmail.com>
Date: Tue, 21 Jul 2015 20:26:36 +0000
Subject: [PATCH] update doc for required isl version

---
 gcc/doc/install.texi |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 212008a..192ca91 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -383,11 +383,11 @@ installed but it is not in your default library search path, the
 @option{--with-mpc} configure option should be used.  See also
 @option{--with-mpc-lib} and @option{--with-mpc-include}.
 
-@item ISL Library version 0.14 (or 0.12.2)
+@item ISL Library version 0.15
 
 Necessary to build GCC with the Graphite loop optimizations.
 It can be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}
-as @file{isl-0.12.2.tar.bz2}.  If an ISL source distribution is found
+as @file{isl-0.15.tar.bz2}.  If an ISL source distribution is found
 in a subdirectory of your GCC sources named @file{isl}, it will be
 built together with GCC.  Alternatively, the @option{--with-isl} configure
 option should be used if ISL is not installed in your default library
-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-21 21:11   ` Sebastian Pop
@ 2015-07-21 21:45     ` Mike Stump
  2015-07-23 18:11     ` Jeff Law
  1 sibling, 0 replies; 10+ messages in thread
From: Mike Stump @ 2015-07-21 21:45 UTC (permalink / raw)
  To: Sebastian Pop; +Cc: Jeff Law, Mike Frysinger, gcc-patches

On Jul 21, 2015, at 1:32 PM, Sebastian Pop <sebpop@gmail.com> wrote:
> 
> Thanks Jeff.
> 
> Could somebody with access to sourceware.org upload a tar.bz2 of the required
> version of isl from http://isl.gforge.inria.fr/isl-0.15.tar.bz2?
> 
> Also, once that is done, I will commit the following patch updating the
> documentation.

Hold on.  Is something wrong with isl-0.14?  If not, then we should leave the minimum version alone (though, updating the recommended version is fine).  Most of the other packages list “or later” to denote that later packages work (or are expected to work).

If we do need to update to isl 0.15 for the trunk, I’d request that any patches that are needed for the gcc-5 release branch to work with isl 0.15 to work be applied to the 5 release branch first, before we update the iso version.

> -@item ISL Library version 0.14 (or 0.12.2)
> +@item ISL Library version 0.15

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-21 18:42 ` [PATCH] gcc: fix building w/isl-0.15 Jeff Law
  2015-07-21 21:11   ` Sebastian Pop
@ 2015-07-22  0:40   ` Mike Frysinger
  1 sibling, 0 replies; 10+ messages in thread
From: Mike Frysinger @ 2015-07-22  0:40 UTC (permalink / raw)
  To: Jeff Law; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 971 bytes --]

On 21 Jul 2015 12:33, Jeff Law wrote:
> On 07/14/2015 08:45 AM, Mike Frysinger wrote:
> > ---
> >   gcc/config.in               |  6 ++++++
> >   gcc/configure               | 31 +++++++++++++++++++++++++++++++
> >   gcc/configure.ac            | 14 ++++++++++++++
> >   gcc/graphite-dependences.c  | 14 +++++++-------
> >   gcc/graphite-optimize-isl.c |  8 ++++++--
> >   gcc/graphite-poly.h         |  5 +++++
> >   6 files changed, 69 insertions(+), 9 deletions(-)
>
> Thanks.  I needed Bernhard's follow-up to get a successful build with 
> isl-0.15 installed.
> 
> For testing I verified there were no regressions using bootstrapped 
> compilers built with isl-0.13 vs isl-0.15.  I also verified that GCC 
> would bootstrap with the patch installed, but no ISL installed.

thanks for the extensive testing :).  i largely only validated gcc-5.2 with
with 0.13 and 0.15 and even then was smoke tests (rebuilding itself and other
packages).
-mike

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-21 21:11   ` Sebastian Pop
  2015-07-21 21:45     ` Mike Stump
@ 2015-07-23 18:11     ` Jeff Law
  2015-07-24 22:08       ` Sebastian Pop
  1 sibling, 1 reply; 10+ messages in thread
From: Jeff Law @ 2015-07-23 18:11 UTC (permalink / raw)
  To: Sebastian Pop; +Cc: Mike Frysinger, gcc-patches

On 07/21/2015 02:32 PM, Sebastian Pop wrote:
>
> Could somebody with access to sourceware.org upload a tar.bz2 of the required
> version of isl from http://isl.gforge.inria.fr/isl-0.15.tar.bz2?
>
> Also, once that is done, I will commit the following patch updating the
> documentation.
I've put isl-0.15.tar.bz2 into the ftp directory.

However, I don't think we've changed the required version of ISL for 
gcc.  If we were changing the required version, then I wouldn't have 
bothered to verify that the trunk still works with 0.13 (and the patch 
itself would have been simpler).

What I think we've done is merely allow the use of a newer ISL, possibly 
changing the recommended version, but not the base required version.

Jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-23 18:11     ` Jeff Law
@ 2015-07-24 22:08       ` Sebastian Pop
  2015-07-24 22:42         ` Jeff Law
  0 siblings, 1 reply; 10+ messages in thread
From: Sebastian Pop @ 2015-07-24 22:08 UTC (permalink / raw)
  To: Jeff Law; +Cc: Mike Frysinger, gcc-patches

Jeff Law wrote:
> On 07/21/2015 02:32 PM, Sebastian Pop wrote:
> >
> >Could somebody with access to sourceware.org upload a tar.bz2 of the required
> >version of isl from http://isl.gforge.inria.fr/isl-0.15.tar.bz2?
> >
> >Also, once that is done, I will commit the following patch updating the
> >documentation.
> I've put isl-0.15.tar.bz2 into the ftp directory.
> 
> However, I don't think we've changed the required version of ISL for
> gcc.  If we were changing the required version, then I wouldn't have
> bothered to verify that the trunk still works with 0.13 (and the
> patch itself would have been simpler).
> 
> What I think we've done is merely allow the use of a newer ISL,
> possibly changing the recommended version, but not the base required
> version.

Right, I have misunderstood the patch, as I though that the configure bits would
check for the existence of a file only distributed in isl-0.15.  Updated patch.
Ok to commit to trunk?

Thanks,
Sebastian

From e9e2685bcffbfa3a9129a1e10574dee907fa4377 Mon Sep 17 00:00:00 2001
From: Sebastian Pop <sebpop@gmail.com>
Date: Tue, 21 Jul 2015 20:26:36 +0000
Subject: [PATCH] update doc for supported isl versions

---
 gcc/doc/install.texi |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 212008a..40c7e6e 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -383,11 +383,11 @@ installed but it is not in your default library search path, the
 @option{--with-mpc} configure option should be used.  See also
 @option{--with-mpc-lib} and @option{--with-mpc-include}.
 
-@item ISL Library version 0.14 (or 0.12.2)
+@item ISL Library version 0.15, 0.14, 0.13, or 0.12.2
 
 Necessary to build GCC with the Graphite loop optimizations.
-It can be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}
-as @file{isl-0.12.2.tar.bz2}.  If an ISL source distribution is found
+It can be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}.
+If an ISL source distribution is found
 in a subdirectory of your GCC sources named @file{isl}, it will be
 built together with GCC.  Alternatively, the @option{--with-isl} configure
 option should be used if ISL is not installed in your default library
-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
  2015-07-24 22:08       ` Sebastian Pop
@ 2015-07-24 22:42         ` Jeff Law
  0 siblings, 0 replies; 10+ messages in thread
From: Jeff Law @ 2015-07-24 22:42 UTC (permalink / raw)
  To: Sebastian Pop; +Cc: Mike Frysinger, gcc-patches

On 07/24/2015 03:53 PM, Sebastian Pop wrote:
> Jeff Law wrote:
>> On 07/21/2015 02:32 PM, Sebastian Pop wrote:
>>>
>>> Could somebody with access to sourceware.org upload a tar.bz2 of the required
>>> version of isl from http://isl.gforge.inria.fr/isl-0.15.tar.bz2?
>>>
>>> Also, once that is done, I will commit the following patch updating the
>>> documentation.
>> I've put isl-0.15.tar.bz2 into the ftp directory.
>>
>> However, I don't think we've changed the required version of ISL for
>> gcc.  If we were changing the required version, then I wouldn't have
>> bothered to verify that the trunk still works with 0.13 (and the
>> patch itself would have been simpler).
>>
>> What I think we've done is merely allow the use of a newer ISL,
>> possibly changing the recommended version, but not the base required
>> version.
>
> Right, I have misunderstood the patch, as I though that the configure bits would
> check for the existence of a file only distributed in isl-0.15.  Updated patch.
> Ok to commit to trunk?
>
> Thanks,
> Sebastian
>
>  From e9e2685bcffbfa3a9129a1e10574dee907fa4377 Mon Sep 17 00:00:00 2001
> From: Sebastian Pop <sebpop@gmail.com>
> Date: Tue, 21 Jul 2015 20:26:36 +0000
> Subject: [PATCH] update doc for supported isl versions
>
> ---
>   gcc/doc/install.texi |    6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
OK.
jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] gcc: fix building w/isl-0.15
@ 2015-07-19 21:28 james harvey
  0 siblings, 0 replies; 10+ messages in thread
From: james harvey @ 2015-07-19 21:28 UTC (permalink / raw)
  To: gcc-patches, Mike Frysinger

This patch and https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01506.html

Appear to do the trick.  I'm building with ISL 0.15 just fine now.

On Tue, Jul 14, 2015 at 2:45 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> ---
>  gcc/config.in               |  6 ++++++
>  gcc/configure               | 31 +++++++++++++++++++++++++++++++
>  gcc/configure.ac            | 14 ++++++++++++++
>  gcc/graphite-dependences.c  | 14 +++++++-------
>  gcc/graphite-optimize-isl.c |  8 ++++++--
>  gcc/graphite-poly.h         |  5 +++++
>  6 files changed, 69 insertions(+), 9 deletions(-)
>
> diff --git a/gcc/config.in b/gcc/config.in
> index b031a62..23e1757 100644
> --- a/gcc/config.in
> +++ b/gcc/config.in
> @@ -1326,6 +1326,12 @@
>  #endif
>
>
> +/* Define if isl_options_set_schedule_serialize_sccs exists. */
> +#ifndef USED_FOR_TARGET
> +#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
> +#endif
> +
> +
>  /* Define if isl_schedule_constraints_compute_schedule exists. */
>  #ifndef USED_FOR_TARGET
>  #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
> diff --git a/gcc/configure b/gcc/configure
> index 9561e5c..6e81298 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -28456,6 +28456,8 @@ fi
>
>  # Check whether isl_schedule_constraints_compute_schedule is available;
>  # it's new in ISL-0.13.
> +# Check whether isl_options_set_schedule_serialize_sccs is available;
> +# it's new in ISL-0.15.
>  if test "x${ISLLIBS}" != "x" ; then
>    saved_CXXFLAGS="$CXXFLAGS"
>    CXXFLAGS="$CXXFLAGS $ISLINC"
> @@ -28485,6 +28487,29 @@ rm -f core conftest.err conftest.$ac_objext \
>    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
>  $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
>
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
> +$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
> +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> +/* end confdefs.h.  */
> +#include <isl/schedule.h>
> +int
> +main ()
> +{
> +isl_options_set_schedule_serialize_sccs (NULL, 0);
> +  ;
> +  return 0;
> +}
> +_ACEOF
> +if ac_fn_cxx_try_link "$LINENO"; then :
> +  ac_has_isl_options_set_schedule_serialize_sccs=yes
> +else
> +  ac_has_isl_options_set_schedule_serialize_sccs=no
> +fi
> +rm -f core conftest.err conftest.$ac_objext \
> +    conftest$ac_exeext conftest.$ac_ext
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
> +$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
> +
>    LIBS="$saved_LIBS"
>    CXXFLAGS="$saved_CXXFLAGS"
>
> @@ -28493,6 +28518,12 @@ $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
>  $as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
>
>    fi
> +
> +  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
> +
> +$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
> +
> +  fi
>  fi
>
>  # Check for plugin support
> diff --git a/gcc/configure.ac b/gcc/configure.ac
> index cb14639..7fb964a 100644
> --- a/gcc/configure.ac
> +++ b/gcc/configure.ac
> @@ -5725,6 +5725,8 @@ fi
>
>  # Check whether isl_schedule_constraints_compute_schedule is available;
>  # it's new in ISL-0.13.
> +# Check whether isl_options_set_schedule_serialize_sccs is available;
> +# it's new in ISL-0.15.
>  if test "x${ISLLIBS}" != "x" ; then
>    saved_CXXFLAGS="$CXXFLAGS"
>    CXXFLAGS="$CXXFLAGS $ISLINC"
> @@ -5738,6 +5740,13 @@ if test "x${ISLLIBS}" != "x" ; then
>                [ac_has_isl_schedule_constraints_compute_schedule=no])
>    AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
>
> +  AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
> +  AC_TRY_LINK([#include <isl/schedule.h>],
> +              [isl_options_set_schedule_serialize_sccs (NULL, 0);],
> +              [ac_has_isl_options_set_schedule_serialize_sccs=yes],
> +              [ac_has_isl_options_set_schedule_serialize_sccs=no])
> +  AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
> +
>    LIBS="$saved_LIBS"
>    CXXFLAGS="$saved_CXXFLAGS"
>
> @@ -5745,6 +5754,11 @@ if test "x${ISLLIBS}" != "x" ; then
>       AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
>                 [Define if isl_schedule_constraints_compute_schedule exists.])
>    fi
> +
> +  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
> +     AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
> +               [Define if isl_options_set_schedule_serialize_sccs exists.])
> +  fi
>  fi
>
>  GCC_ENABLE_PLUGINS
> diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
> index 50fe73e..9a0986d 100644
> --- a/gcc/graphite-dependences.c
> +++ b/gcc/graphite-dependences.c
> @@ -205,7 +205,7 @@ scop_get_transformed_schedule (scop_p scop, vec<poly_bb_p> pbbs)
>  /* Helper function used on each MAP of a isl_union_map.  Computes the
>     maximal output dimension.  */
>
> -static int
> +static isl_stat
>  max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
>  {
>    int global_max = *((int *) user);
> @@ -217,7 +217,7 @@ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
>
>    isl_map_free (map);
>    isl_space_free (space);
> -  return 0;
> +  return isl_stat_ok;
>  }
>
>  /* Extends the output dimension of MAP to MAX dimensions.  */
> @@ -241,12 +241,12 @@ struct extend_schedule_str {
>
>  /* Helper function for extend_schedule.  */
>
> -static int
> +static isl_stat
>  extend_schedule_1 (__isl_take isl_map *map, void *user)
>  {
>    struct extend_schedule_str *str = (struct extend_schedule_str *) user;
>    str->umap = isl_union_map_add_map (str->umap, extend_map (map, str->max));
> -  return 0;
> +  return isl_stat_ok;
>  }
>
>  /* Return a relation that has uniform output dimensions.  */
> @@ -255,16 +255,16 @@ __isl_give isl_union_map *
>  extend_schedule (__isl_take isl_union_map *x)
>  {
>    int max = 0;
> -  int res;
> +  isl_stat res;
>    struct extend_schedule_str str;
>
>    res = isl_union_map_foreach_map (x, max_number_of_out_dimensions, (void *) &max);
> -  gcc_assert (res == 0);
> +  gcc_assert (res == isl_stat_ok);
>
>    str.max = max;
>    str.umap = isl_union_map_empty (isl_union_map_get_space (x));
>    res = isl_union_map_foreach_map (x, extend_schedule_1, (void *) &str);
> -  gcc_assert (res == 0);
> +  gcc_assert (res == isl_stat_ok);
>
>    isl_union_map_free (x);
>    return str.umap;
> diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
> index f490401..388e25c 100644
> --- a/gcc/graphite-optimize-isl.c
> +++ b/gcc/graphite-optimize-isl.c
> @@ -506,13 +506,13 @@ getScheduleMap (isl_schedule *Schedule, isl_union_map **map_sepcl)
>    return ScheduleMap;
>  }
>
> -static int
> +static isl_stat
>  getSingleMap (__isl_take isl_map *map, void *user)
>  {
>    isl_map **singleMap = (isl_map **) user;
>    *singleMap = map;
>
> -  return 0;
> +  return isl_stat_ok;
>  }
>
>  static void
> @@ -584,7 +584,11 @@ 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_options_set_schedule_serialize_sccs (scop->ctx, 1);
> +#else
>    isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
> +#endif
>    isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
>
>  #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
> diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
> index 7ffd18e..7022a1d 100644
> --- a/gcc/graphite-poly.h
> +++ b/gcc/graphite-poly.h
> @@ -24,6 +24,11 @@ along with GCC; see the file COPYING3.  If not see
>
>  #include "sese.h"
>
> +#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
> +# define isl_stat int
> +# define isl_stat_ok 0
> +#endif
> +
>  typedef struct poly_dr *poly_dr_p;
>
>  typedef struct poly_bb *poly_bb_p;
> --
> 2.4.4
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-07-24 22:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-14 14:45 [PATCH] gcc: fix building w/isl-0.15 Mike Frysinger
2015-07-17 11:36 ` [PATCH] gcc/: Fix building with isl-0.15.0; includes Bernhard Reutner-Fischer
2015-07-21 18:42 ` [PATCH] gcc: fix building w/isl-0.15 Jeff Law
2015-07-21 21:11   ` Sebastian Pop
2015-07-21 21:45     ` Mike Stump
2015-07-23 18:11     ` Jeff Law
2015-07-24 22:08       ` Sebastian Pop
2015-07-24 22:42         ` Jeff Law
2015-07-22  0:40   ` Mike Frysinger
2015-07-19 21:28 james harvey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).