aboutsummaryrefslogtreecommitdiff
path: root/4.8.5
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-08-30 05:56:20 +0000
committerMike Frysinger <vapier@gentoo.org>2015-08-30 05:56:20 +0000
commit31465d84d0cb046fbb7c1fe14aaa50d62ce5717f (patch)
tree91198988175b4a18075666459c74501a56152840 /4.8.5
parentdisable -fstack-check by default for arm targets since it miscompiles code #5... (diff)
downloadgcc-patches-31465d84d0cb046fbb7c1fe14aaa50d62ce5717f.tar.gz
gcc-patches-31465d84d0cb046fbb7c1fe14aaa50d62ce5717f.tar.bz2
gcc-patches-31465d84d0cb046fbb7c1fe14aaa50d62ce5717f.zip
fix building w/isl-0.15 #557330
Diffstat (limited to '4.8.5')
-rw-r--r--4.8.5/gentoo/74_all_gcc48_cloog-dl.patch21
-rw-r--r--4.8.5/gentoo/75_all_gcc-4.8-isl-0.15.patch210
-rw-r--r--4.8.5/gentoo/README.history4
3 files changed, 233 insertions, 2 deletions
diff --git a/4.8.5/gentoo/74_all_gcc48_cloog-dl.patch b/4.8.5/gentoo/74_all_gcc48_cloog-dl.patch
index 9ee15fb..4ecdf41 100644
--- a/4.8.5/gentoo/74_all_gcc48_cloog-dl.patch
+++ b/4.8.5/gentoo/74_all_gcc48_cloog-dl.patch
@@ -12,6 +12,9 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
* configure: Regenerate.
* Makefile.in (BACKENDLIBS): Use DL_LIB.
+extended by Gentoo to support isl-0.15
+https://bugs.gentoo.org/552278
+https://bugs.gentoo.org/557330
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -112,15 +115,20 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
mpz_clear (bound_two);
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
-@@ -22,6 +22,396 @@ along with GCC; see the file COPYING3. If not see
+@@ -22,6 +22,410 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_GRAPHITE_POLY_H
#define GCC_GRAPHITE_POLY_H
+#include <isl/aff.h>
++#include <isl/constraint.h>
++#include <isl/union_set.h>
+#include <isl/schedule.h>
+#include <isl/ilp.h>
+#include <isl/flow.h>
+#include <isl/options.h>
++#include <isl/ast.h>
++#include <isl/ast_build.h>
++#include <isl/val_gmp.h>
+#include <cloog/isl/cloog.h>
+#include <dlfcn.h>
+#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
@@ -138,6 +146,11 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
+#define DYNSYM_ZERO_DISTANCE DYNSYM (isl_band_member_is_zero_distance)
+#define NEW_DYNSYMS
+#endif
++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++#define DYNSYM_FUSE DYNSYM (isl_options_set_schedule_serialize_sccs)
++#else
++#define DYNSYM_FUSE DYNSYM (isl_options_set_schedule_fuse)
++#endif
+#define DYNSYMS \
+ DYNSYM (clast_pprint); \
+ DYNSYM (cloog_clast_create_from_input); \
@@ -219,7 +232,7 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
+ DYNSYM (isl_map_set_tuple_id); \
+ DYNSYM (isl_map_universe); \
+ DYNSYM (isl_options_set_on_error); \
-+ DYNSYM (isl_options_set_schedule_fuse); \
++ DYNSYM_FUSE; \
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
+ DYNSYM (isl_printer_free); \
@@ -407,7 +420,11 @@ In FreeBSD dlopen is part of libc so we can't just hardcode -ldl.
+#define isl_map_set_tuple_id (*cloog_pointers__.p_isl_map_set_tuple_id)
+#define isl_map_universe (*cloog_pointers__.p_isl_map_universe)
+#define isl_options_set_on_error (*cloog_pointers__.p_isl_options_set_on_error)
++#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
++#define isl_options_set_schedule_serialize_sccs (*cloog_pointers__.p_isl_options_set_schedule_serialize_sccs)
++#else
+#define isl_options_set_schedule_fuse (*cloog_pointers__.p_isl_options_set_schedule_fuse)
++#endif
+#define isl_options_set_schedule_max_constant_term (*cloog_pointers__.p_isl_options_set_schedule_max_constant_term)
+#define isl_options_set_schedule_maximize_band_depth (*cloog_pointers__.p_isl_options_set_schedule_maximize_band_depth)
+#define isl_printer_free (*cloog_pointers__.p_isl_printer_free)
diff --git a/4.8.5/gentoo/75_all_gcc-4.8-isl-0.15.patch b/4.8.5/gentoo/75_all_gcc-4.8-isl-0.15.patch
new file mode 100644
index 0000000..fad57d2
--- /dev/null
+++ b/4.8.5/gentoo/75_all_gcc-4.8-isl-0.15.patch
@@ -0,0 +1,210 @@
+https://bugs.gentoo.org/552278
+https://bugs.gentoo.org/557330
+
+add support for isl-0.15
+
+--- 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
+--- 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.
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $ISLINC"
+ saved_LIBS="$LIBS"
+@@ -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"
+ CFLAGS="$saved_CFLAGS"
+
+@@ -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
+
+
+--- 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.
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $ISLINC"
+ saved_LIBS="$LIBS"
+@@ -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"
+ CFLAGS="$saved_CFLAGS"
+
+@@ -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
+
+
+--- a/gcc/graphite-dependences.c
++++ b/gcc/graphite-dependences.c
+@@ -205,7 +204,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 +216,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 +240,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 +254,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;
+--- 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);
+ schedule = isl_union_set_compute_schedule (domain, validity, proximity);
+ isl_options_set_on_error(scop->ctx, ISL_ON_ERROR_ABORT);
+--- a/gcc/graphite-poly.h
++++ b/gcc/graphite-poly.h
+@@ -24,6 +24,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/4.8.5/gentoo/README.history b/4.8.5/gentoo/README.history
index 952beaf..b4035f6 100644
--- a/4.8.5/gentoo/README.history
+++ b/4.8.5/gentoo/README.history
@@ -1,3 +1,7 @@
+1.3 29 Aug 2015
+ U 74_all_gcc48_cloog-dl.patch
+ + 75_all_gcc-4.8-isl-0.15.patch
+
1.2 20 Aug 2015
U 93_all_gcc-4.8-config.h-bconfig.h-parallel-PR57125-PR61899.patch