configure.ac: Add check for new options in isl-0.15.

* configure.ac: Add check for new options in isl-0.15.
	* config.in, configure: Rebuilt.
	* graphite-blocking.c: Include <isl/constraint.h>
	* graphite-interchange.c,  graphite-poly.c: Likewise.
	* graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
	<isl/union_set.h>.
	* graphite-dependences.c: Include <isl/constraint.h>.
	(max_number_of_out_dimensions): Returns isl_stat.
	(extend_schedule_1): Likewise
	(extend_schedule): Corresponding changes.
	* graphite-optimize-isl.c: Include <isl/constraint.h> and
	<isl/union_set.h>.
	(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.

Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>

From-SVN: r226050
This commit is contained in:
Mike Frysinger 2015-07-21 18:33:35 +00:00 committed by Jeff Law
parent 1f82f1245d
commit 324000329b
14 changed files with 103 additions and 9 deletions

View File

@ -1,3 +1,26 @@
2015-07-21 Mike Frysinger <vapier@gentoo.org>
Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* configure.ac: Add check for new options in isl-0.15.
* config.in, configure: Rebuilt.
* graphite-blocking.c: Include <isl/constraint.h>
* graphite-interchange.c, graphite-poly.c: Likewise.
* graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
<isl/union_set.h>.
* graphite-dependences.c: Include <isl/constraint.h>.
(max_number_of_out_dimensions): Returns isl_stat.
(extend_schedule_1): Likewise
(extend_schedule): Corresponding changes.
* graphite-optimize-isl.c: Include <isl/constraint.h> and
<isl/union_set.h>.
(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-07-21 Georg-Johann Lay <avr@gjlay.de>
PR target/66956

View File

@ -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

31
gcc/configure vendored
View File

@ -28467,6 +28467,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"
@ -28496,6 +28498,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"
@ -28504,6 +28529,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

View File

@ -5723,6 +5723,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"
@ -5736,6 +5738,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"
@ -5743,6 +5752,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

View File

@ -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>

View File

@ -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>
@ -205,7 +206,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 +218,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 +242,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 +256,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;

View File

@ -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>

View File

@ -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>

View File

@ -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>
@ -507,13 +509,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
@ -585,7 +587,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

View File

@ -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>

View File

@ -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;

View File

@ -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>

View File

@ -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>

View File

@ -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>