From: Matthias Klose Date: Thu, 19 Nov 2015 15:19:13 +0000 (+0000) Subject: configure.ac: Permit also ISL 0.15 with CLooG. X-Git-Tag: releases/gcc-4.9.4~500 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d04e41de330866e17cde504acd7d5e5b63cdb56;p=thirdparty%2Fgcc.git configure.ac: Permit also ISL 0.15 with CLooG. 2015-11-18 Matthias Klose * configure.ac: Permit also ISL 0.15 with CLooG. * configure: Regenerate. gcc/ 2015-11-18 Matthias Klose Backport from the gcc-5-branch Backport from mainline 2015-07-21 Mike Frysinger Bernhard Reutner-Fischer * configure.ac: Add check for new options in isl-0.15. * config.in, configure: Rebuilt. * graphite-blocking.c: Include * graphite-interchange.c, graphite-poly.c: Likewise. * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. * graphite.c, graphite-poly.c: Likewise. * graphite-dependences.c: Include . (max_number_of_out_dimensions): Returns isl_stat. (extend_schedule_1): Likewise (extend_schedule): Corresponding changes. * graphite-optimize-isl.c: Include and . (getSingleMap): Change return type of isl_stat. (optimize_isl): Conditionally use isl_options_set_schedule_serialize_sccs. * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. From-SVN: r230610 --- diff --git a/ChangeLog b/ChangeLog index 17448318c94e..66f5baa755ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-11-18 Matthias Klose + + * configure.ac: Permit also ISL 0.15 with CLooG. + * configure: Regenerate. + 2015-06-26 Release Manager * GCC 4.9.3 released. diff --git a/configure b/configure index d9304d92c50d..9c73b1158283 100755 --- a/configure +++ b/configure @@ -6072,6 +6072,55 @@ $as_echo "$gcc_cv_isl" >&6; } fi + if test "${gcc_cv_isl}" = no ; then + + if test "${ENABLE_ISL_CHECK}" = yes ; then + _isl_saved_CFLAGS=$CFLAGS + _isl_saved_LDFLAGS=$LDFLAGS + _isl_saved_LIBS=$LIBS + + CFLAGS="${_isl_saved_CFLAGS} ${islinc} ${gmpinc}" + LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}" + LIBS="${_isl_saved_LIBS} -lisl" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.15 of ISL" >&5 +$as_echo_n "checking for version 0.15 of ISL... " >&6; } + if test "$cross_compiling" = yes; then : + gcc_cv_isl=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +if (strncmp (isl_version (), "isl-0.15", strlen ("isl-0.15")) != 0) + return 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gcc_cv_isl=yes +else + gcc_cv_isl=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_isl" >&5 +$as_echo "$gcc_cv_isl" >&6; } + + CFLAGS=$_isl_saved_CFLAGS + LDFLAGS=$_isl_saved_LDFLAGS + LIBS=$_isl_saved_LIBS + fi + + + fi fi fi fi diff --git a/configure.ac b/configure.ac index 41a30dda0c52..ae976790d326 100644 --- a/configure.ac +++ b/configure.ac @@ -1660,6 +1660,9 @@ if test "x$with_isl" != "xno" && ISL_CHECK_VERSION(0,12) if test "${gcc_cv_isl}" = no ; then ISL_CHECK_VERSION(0,14) + if test "${gcc_cv_isl}" = no ; then + ISL_CHECK_VERSION(0,15) + fi fi fi fi diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f98cb5a3d38..15d77ee61e7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,28 @@ +2015-11-19 Matthias Klose + + Backport from the gcc-5-branch + + 2015-07-21 Mike Frysinger + Bernhard Reutner-Fischer + + * configure.ac: Add check for new options in isl-0.15. + * config.in, configure: Rebuilt. + * graphite-blocking.c: Include + * graphite-interchange.c, graphite-poly.c: Likewise. + * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. + * graphite.c, graphite-poly.c: Likewise. + * graphite-dependences.c: Include . + (max_number_of_out_dimensions): Returns isl_stat. + (extend_schedule_1): Likewise + (extend_schedule): Corresponding changes. + * graphite-optimize-isl.c: Include and + . + (getSingleMap): Change return type of isl_stat. + (optimize_isl): Conditionally use + isl_options_set_schedule_serialize_sccs. + * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks + if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. + 2015-11-19 Eric Botcazou PR lto/61313 diff --git a/gcc/config.in b/gcc/config.in index ba3b7fc8bb5c..6e120e70f39a 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -1223,6 +1223,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 f051b2b382dc..1674e3063c29 100755 --- a/gcc/configure +++ b/gcc/configure @@ -27947,6 +27947,8 @@ $as_echo "#define HAVE_cloog 1" >>confdefs.h # 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. saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $ISLINC" saved_LIBS="$LIBS" @@ -27975,6 +27977,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 +int +main () +{ +isl_options_set_schedule_serialize_sccs (NULL, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_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" CFLAGS="$saved_CFLAGS" @@ -27983,6 +28008,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 diff --git a/gcc/configure.ac b/gcc/configure.ac index 0e9bf7e6dff7..1a009c87b0c4 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -5535,6 +5535,8 @@ if test "x${CLOOGLIBS}" != "x" ; then # 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. saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $ISLINC" saved_LIBS="$LIBS" @@ -5547,6 +5549,13 @@ if test "x${CLOOGLIBS}" != "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_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" CFLAGS="$saved_CFLAGS" @@ -5554,6 +5563,11 @@ if test "x${CLOOGLIBS}" != "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 diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c index 20a24eb2cf34..27742ccdbe85 100644 --- a/gcc/graphite-blocking.c +++ b/gcc/graphite-blocking.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c index b0f868077ae0..9308c279670e 100644 --- a/gcc/graphite-dependences.c +++ b/gcc/graphite-dependences.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include @@ -183,7 +184,7 @@ scop_get_transformed_schedule (scop_p scop, vec 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); @@ -195,7 +196,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. */ @@ -219,12 +220,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. */ @@ -233,16 +234,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-interchange.c b/gcc/graphite-interchange.c index 2e625c127bad..a4def578df28 100644 --- a/gcc/graphite-interchange.c +++ b/gcc/graphite-interchange.c @@ -24,6 +24,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c index fc12eebbf109..82a65691d9ed 100644 --- a/gcc/graphite-optimize-isl.c +++ b/gcc/graphite-optimize-isl.c @@ -21,7 +21,9 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include +#include #include #include #include @@ -415,13 +417,13 @@ getScheduleMap (isl_schedule *Schedule) 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 @@ -469,7 +471,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); schedule = isl_union_set_compute_schedule (domain, validity, proximity); isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_ABORT); diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c index fccc2ec6de5b..c7b6e22c3152 100644 --- a/gcc/graphite-poly.c +++ b/gcc/graphite-poly.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h index 06d320eea49d..c75200e1d58b 100644 --- a/gcc/graphite-poly.h +++ b/gcc/graphite-poly.h @@ -22,6 +22,11 @@ along with GCC; see the file COPYING3. If not see #ifndef GCC_GRAPHITE_POLY_H #define GCC_GRAPHITE_POLY_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; diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 635e21a8519b..b68d15deaab9 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -22,6 +22,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 7adf2a9d1b58..c3f758472042 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include diff --git a/gcc/graphite.c b/gcc/graphite.c index 311b7e361520..52182a55a034 100644 --- a/gcc/graphite.c +++ b/gcc/graphite.c @@ -35,6 +35,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #ifdef HAVE_cloog +#include #include #include #include