+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * config/isl.m4 (ISL_CHECK_VERSION): Check for
+ isl_ctx_get_max_operations.
+ * configure: Regenerate.
+
2015-12-15 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
# ISL_INIT_FLAGS ()
# -------------------------
-# Provide configure switches for ISL support.
+# Provide configure switches for isl support.
# Initialize isllibs/islinc according to the user input.
AC_DEFUN([ISL_INIT_FLAGS],
[
AC_ARG_WITH([isl-include],
[AS_HELP_STRING(
[--with-isl-include=PATH],
- [Specify directory for installed ISL include files])])
+ [Specify directory for installed isl include files])])
AC_ARG_WITH([isl-lib],
[AS_HELP_STRING(
[--with-isl-lib=PATH],
- [Specify the directory for the installed ISL library])])
+ [Specify the directory for the installed isl library])])
AC_ARG_ENABLE(isl-version-check,
[AS_HELP_STRING(
[--disable-isl-version-check],
- [disable check for ISL version])],
+ [disable check for isl version])],
ENABLE_ISL_CHECK=$enableval,
ENABLE_ISL_CHECK=yes)
if test "x${with_isl_lib}" != x; then
isllibs="-L$with_isl_lib"
fi
- dnl If no --with-isl flag was specified and there is in-tree ISL
+ dnl If no --with-isl flag was specified and there is in-tree isl
dnl source, set up flags to use that and skip any version tests
- dnl as we cannot run them before building ISL.
+ dnl as we cannot run them before building isl.
if test "x${islinc}" = x && test "x${isllibs}" = x \
&& test -d ${srcdir}/isl; then
isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' '
islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
ENABLE_ISL_CHECK=no
- AC_MSG_WARN([using in-tree ISL, disabling version check])
+ AC_MSG_WARN([using in-tree isl, disabling version check])
fi
isllibs="${isllibs} -lisl"
# ISL_REQUESTED (ACTION-IF-REQUESTED, ACTION-IF-NOT)
# ----------------------------------------------------
-# Provide actions for failed ISL detection.
+# Provide actions for failed isl detection.
AC_DEFUN([ISL_REQUESTED],
[
AC_REQUIRE([ISL_INIT_FLAGS])
LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
LIBS="${_isl_saved_LIBS} -lisl"
- AC_MSG_CHECKING([for compatible ISL])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <isl/val.h>]], [[;]])],
- [gcc_cv_isl=yes],
- [gcc_cv_isl=no])
+ AC_MSG_CHECKING([for isl 0.15 (or deprecated 0.14)])
+ AC_TRY_LINK([#include <isl/ctx.h>],
+ [isl_ctx_get_max_operations (isl_ctx_alloc ());],
+ [gcc_cv_isl=yes],
+ [gcc_cv_isl=no])
AC_MSG_RESULT([$gcc_cv_isl])
+ if test "${gcc_cv_isl}" = no ; then
+ AC_MSG_RESULT([recommended isl version is 0.15, minimum required isl version 0.14 is deprecated])
+ fi
+
CFLAGS=$_isl_saved_CFLAGS
LDFLAGS=$_isl_saved_LDFLAGS
LIBS=$_isl_saved_LIBS
build static libjava [default=no]
--enable-bootstrap enable bootstrapping [yes if native build]
--disable-isl-version-check
- disable check for ISL version
+ disable check for isl version
--enable-lto enable link time optimization support
--enable-linker-plugin-configure-flags=FLAGS
additional flags for configuring linker plugins
package. Equivalent to
--with-isl-include=PATH/include plus
--with-isl-lib=PATH/lib
- --with-isl-include=PATH Specify directory for installed ISL include files
- --with-isl-lib=PATH Specify the directory for the installed ISL library
+ --with-isl-include=PATH Specify directory for installed isl include files
+ --with-isl-lib=PATH Specify the directory for the installed isl library
--with-build-sysroot=SYSROOT
use sysroot as the system root during the build
--with-debug-prefix-map='A=B C=D ...'
isllibs='-L$$r/$(HOST_SUBDIR)/isl/'"$lt_cv_objdir"' '
islinc='-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include'
ENABLE_ISL_CHECK=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using in-tree ISL, disabling version check" >&5
-$as_echo "$as_me: WARNING: using in-tree ISL, disabling version check" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using in-tree isl, disabling version check" >&5
+$as_echo "$as_me: WARNING: using in-tree isl, disabling version check" >&2;}
fi
isllibs="${isllibs} -lisl"
LDFLAGS="${_isl_saved_LDFLAGS} ${isllibs}"
LIBS="${_isl_saved_LIBS} -lisl"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compatible ISL" >&5
-$as_echo_n "checking for compatible ISL... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isl 0.15 (or deprecated 0.14)" >&5
+$as_echo_n "checking for isl 0.15 (or deprecated 0.14)... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <isl/val.h>
+#include <isl/ctx.h>
int
main ()
{
-;
+isl_ctx_get_max_operations (isl_ctx_alloc ());
;
return 0;
}
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_isl" >&5
$as_echo "$gcc_cv_isl" >&6; }
+ if test "${gcc_cv_isl}" = no ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: recommended isl version is 0.15, minimum required isl version 0.14 is deprecated" >&5
+$as_echo "recommended isl version is 0.15, minimum required isl version 0.14 is deprecated" >&6; }
+ fi
+
CFLAGS=$_isl_saved_CFLAGS
LDFLAGS=$_isl_saved_LDFLAGS
LIBS=$_isl_saved_LIBS
+2015-12-16 Aditya Kumar <aditya.k7@samsung.com>
+ Sebastian Pop <s.pop@samsung.com>
+
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Remove checks for functions that exist in isl 0.13
+ or later.
+ * graphite-isl-ast-to-gimple.c: Remove #ifdefs and code for isl 0.12.
+ * graphite-optimize-isl.c: Same.
+ * graphite-poly.c: Same.
+ * graphite-sese-to-poly.c: Same.
+ * graphite.h: Add comment for isl 0.14.
+ * toplev.c (print_version): Print isl version.
+
2015-12-10 Jan Hubicka <hubicka@ucw.cz>
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use can_refer; do not
#endif
-/* Define if isl_ctx_get_max_operations exists. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_ISL_CTX_MAX_OPERATIONS
-#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
-#endif
-
-
/* Define to 1 if you have the `kill' function. */
#ifndef USED_FOR_TARGET
#undef HAVE_KILL
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
saved_LIBS="$LIBS"
LIBS="$LIBS $ISLLIBS $GMPLIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_schedule_constraints_compute_schedule" >&5
-$as_echo_n "checking Checking for isl_schedule_constraints_compute_schedule... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <isl/schedule.h>
-int
-main ()
-{
-isl_schedule_constraints_compute_schedule (NULL);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_has_isl_schedule_constraints_compute_schedule=yes
-else
- ac_has_isl_schedule_constraints_compute_schedule=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_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
{ $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; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_ctx_get_max_operations" >&5
-$as_echo_n "checking Checking for isl_ctx_get_max_operations... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <isl/ctx.h>
-int
-main ()
-{
-isl_ctx_get_max_operations (isl_ctx_alloc ());
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_has_isl_ctx_get_max_operations=yes
-else
- ac_has_isl_ctx_get_max_operations=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_ctx_get_max_operations" >&5
-$as_echo "$ac_has_isl_ctx_get_max_operations" >&6; }
-
LIBS="$saved_LIBS"
CXXFLAGS="$saved_CXXFLAGS"
- if test x"$ac_has_isl_schedule_constraints_compute_schedule" = x"yes"; then
-
-$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
- if test x"$ac_has_isl_ctx_get_max_operations" = x"yes"; then
-
-$as_echo "#define HAVE_ISL_CTX_MAX_OPERATIONS 1" >>confdefs.h
-
- fi
fi
# Check for plugin support
saved_LIBS="$LIBS"
LIBS="$LIBS $ISLLIBS $GMPLIBS"
- AC_MSG_CHECKING([Checking for isl_schedule_constraints_compute_schedule])
- AC_TRY_LINK([#include <isl/schedule.h>],
- [isl_schedule_constraints_compute_schedule (NULL);],
- [ac_has_isl_schedule_constraints_compute_schedule=yes],
- [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=no])
AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
- AC_MSG_CHECKING([Checking for isl_ctx_get_max_operations])
- AC_TRY_LINK([#include <isl/ctx.h>],
- [isl_ctx_get_max_operations (isl_ctx_alloc ());],
- [ac_has_isl_ctx_get_max_operations=yes],
- [ac_has_isl_ctx_get_max_operations=no])
- AC_MSG_RESULT($ac_has_isl_ctx_get_max_operations)
-
LIBS="$saved_LIBS"
CXXFLAGS="$saved_CXXFLAGS"
- if test x"$ac_has_isl_schedule_constraints_compute_schedule" = x"yes"; 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
- if test x"$ac_has_isl_ctx_get_max_operations" = x"yes"; then
- AC_DEFINE(HAVE_ISL_CTX_MAX_OPERATIONS, 1,
- [Define if isl_ctx_get_max_operations exists.])
- fi
fi
GCC_ENABLE_PLUGINS
#include <isl/map.h>
#include <isl/union_map.h>
#include <isl/ast_build.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
#include "graphite.h"
return fold_build2 (TRUNC_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* ISL-0.15 or later. */
case isl_ast_op_zdiv_r:
#endif
case isl_ast_op_pdiv_r:
case isl_ast_op_pdiv_r:
case isl_ast_op_fdiv_q:
#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* ISL-0.15 or later. */
case isl_ast_op_zdiv_r:
#endif
case isl_ast_op_and:
#include <isl/options.h>
#include <isl/ctx.h>
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+/* isl 0.15 or later. */
#include <isl/schedule_node.h>
#include <isl/ast_build.h>
#endif
#include "graphite.h"
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+/* isl 0.15 or later. */
/* get_schedule_for_node_st - Improve schedule for the schedule node.
Only Simple loop tiling is considered. */
bool
optimize_isl (scop_p scop)
{
-#ifdef HAVE_ISL_CTX_MAX_OPERATIONS
int old_max_operations = isl_ctx_get_max_operations (scop->isl_context);
int max_operations = PARAM_VALUE (PARAM_MAX_ISL_OPERATIONS);
if (max_operations)
isl_ctx_set_max_operations (scop->isl_context, max_operations);
-#endif
isl_options_set_on_error (scop->isl_context, ISL_ON_ERROR_CONTINUE);
isl_union_set *domain = scop_get_domains (scop);
isl_union_map *validity = dependences;
isl_union_map *proximity = isl_union_map_copy (validity);
-#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
- isl_schedule_constraints *schedule_constraints;
- schedule_constraints = isl_schedule_constraints_on_domain (domain);
- schedule_constraints
- = isl_schedule_constraints_set_proximity (schedule_constraints,
- proximity);
- schedule_constraints
- = isl_schedule_constraints_set_validity (schedule_constraints,
- isl_union_map_copy (validity));
- schedule_constraints
- = isl_schedule_constraints_set_coincidence (schedule_constraints,
- validity);
-#endif
-
isl_options_set_schedule_max_constant_term (scop->isl_context, CONSTANT_BOUND);
isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
- /* ISL-0.15 or later. */
+ /* isl 0.15 or later. */
isl_options_set_schedule_serialize_sccs (scop->isl_context, 0);
isl_options_set_schedule_maximize_band_depth (scop->isl_context, 1);
isl_options_set_schedule_max_constant_term (scop->isl_context, 20);
isl_options_set_schedule_fuse (scop->isl_context, ISL_SCHEDULE_FUSE_MIN);
#endif
-#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
- isl_schedule *schedule
- = isl_schedule_constraints_compute_schedule (schedule_constraints);
-#else
isl_schedule *schedule
= isl_union_set_compute_schedule (domain, validity, proximity);
-#endif
-
isl_options_set_on_error (scop->isl_context, ISL_ON_ERROR_ABORT);
-#ifdef HAVE_ISL_CTX_MAX_OPERATIONS
isl_ctx_reset_operations (scop->isl_context);
isl_ctx_set_max_operations (scop->isl_context, old_max_operations);
if (!schedule || isl_ctx_last_error (scop->isl_context) == isl_error_quota)
{
if (dump_file && dump_flags)
- fprintf (dump_file, "ISL timed out --param max-isl-operations=%d\n",
+ fprintf (dump_file, "isl timed out --param max-isl-operations=%d\n",
max_operations);
if (schedule)
isl_schedule_free (schedule);
return false;
}
-#else
- if (!schedule)
- return false;
-#endif
#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* isl 0.15 or later. */
isl_union_map *schedule_map = get_schedule_map_st (schedule);
#else
isl_union_map *schedule_map = get_schedule_map (schedule);
#include <isl/ilp.h>
#include <isl/aff.h>
#include <isl/val.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
#include "graphite.h"
#include <isl/constraint.h>
#include <isl/aff.h>
#include <isl/val.h>
-
-/* Since ISL-0.13, the extern is in val_gmp.h. */
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-extern "C" {
-#endif
#include <isl/val_gmp.h>
-#if !defined(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE) && defined(__cplusplus)
-}
-#endif
#include "graphite.h"
#include "sese.h"
#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ /* isl 0.14. */
# define isl_stat int
# define isl_stat_ok 0
#endif
#endif
;
static const char fmt2[] =
- N_("GMP version %s, MPFR version %s, MPC version %s\n");
+ N_("GMP version %s, MPFR version %s, MPC version %s, isl version %s\n");
static const char fmt3[] =
N_("%s%swarning: %s header version %s differs from library version %s.\n");
static const char fmt4[] =
#endif
fprintf (file,
file == stderr ? _(fmt2) : fmt2,
- GCC_GMP_STRINGIFY_VERSION, MPFR_VERSION_STRING, MPC_VERSION_STRING);
+ GCC_GMP_STRINGIFY_VERSION, MPFR_VERSION_STRING, MPC_VERSION_STRING,
+#ifndef HAVE_isl
+ "none"
+#elif HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
+ "0.15"
+#else
+ "0.14 or 0.13"
+#endif
+ );
if (strcmp (GCC_GMP_STRINGIFY_VERSION, gmp_version))
fprintf (file,
file == stderr ? _(fmt3) : fmt3,