replace ISL with isl
From-SVN: r231784
This commit is contained in:
parent
616e2b4a9a
commit
e357a5e03c
@ -1,3 +1,12 @@
|
||||
2015-12-17 Sebastian Pop <s.pop@samsung.com>
|
||||
|
||||
* Makefile.in: Replace ISL with isl.
|
||||
* Makefile.tpl: Same.
|
||||
* config/isl.m4: Same.
|
||||
* configure.ac: Same.
|
||||
* contrib/download_prerequisites: Same.
|
||||
* configure: Regenerate.
|
||||
|
||||
2015-12-17 Andris Pavenis <andris.pavenis@iki.fi>
|
||||
|
||||
* MAINTAINERS (Write After Approval): Add Myself.
|
||||
|
@ -312,7 +312,7 @@ NORMAL_TARGET_EXPORTS = \
|
||||
HOST_GMPLIBS = @gmplibs@
|
||||
HOST_GMPINC = @gmpinc@
|
||||
|
||||
# Where to find ISL
|
||||
# Where to find isl
|
||||
HOST_ISLLIBS = @isllibs@
|
||||
HOST_ISLINC = @islinc@
|
||||
|
||||
|
@ -315,7 +315,7 @@ NORMAL_TARGET_EXPORTS = \
|
||||
HOST_GMPLIBS = @gmplibs@
|
||||
HOST_GMPINC = @gmpinc@
|
||||
|
||||
# Where to find ISL
|
||||
# Where to find isl
|
||||
HOST_ISLLIBS = @isllibs@
|
||||
HOST_ISLINC = @islinc@
|
||||
|
||||
|
@ -94,7 +94,7 @@ AC_DEFUN([ISL_REQUESTED],
|
||||
|
||||
# ISL_CHECK_VERSION ISL_CHECK_VERSION ()
|
||||
# ----------------------------------------------------------------
|
||||
# Test that ISL contains functionality added to the minimum expected version.
|
||||
# Test whether isl contains functionality added to the minimum expected version.
|
||||
AC_DEFUN([ISL_CHECK_VERSION],
|
||||
[
|
||||
if test "${ENABLE_ISL_CHECK}" = yes ; then
|
||||
|
10
configure
vendored
10
configure
vendored
@ -1549,7 +1549,7 @@ Optional Packages:
|
||||
--with-boot-libs=LIBS libraries for stage2 and later
|
||||
--with-boot-ldflags=FLAGS
|
||||
linker flags for stage2 and later
|
||||
--with-isl=PATH Specify prefix directory for the installed ISL
|
||||
--with-isl=PATH Specify prefix directory for the installed isl
|
||||
package. Equivalent to
|
||||
--with-isl-include=PATH/include plus
|
||||
--with-isl-lib=PATH/lib
|
||||
@ -5943,7 +5943,7 @@ fi
|
||||
|
||||
|
||||
|
||||
# GCC GRAPHITE dependency ISL.
|
||||
# GCC GRAPHITE dependency isl.
|
||||
# Basic setup is inlined here, actual checks are in config/isl.m4
|
||||
|
||||
|
||||
@ -5956,7 +5956,7 @@ fi
|
||||
# Treat --without-isl as a request to disable
|
||||
# GRAPHITE support and skip all following checks.
|
||||
if test "x$with_isl" != "xno"; then
|
||||
# Check for ISL
|
||||
# Check for isl
|
||||
|
||||
|
||||
# Check whether --with-isl-include was given.
|
||||
@ -6079,13 +6079,13 @@ $as_echo "recommended isl version is 0.15, minimum required isl version 0.14 is
|
||||
&& test "x${isllibs}" = x \
|
||||
&& test "x${islinc}" = x ; then
|
||||
|
||||
as_fn_error "Unable to find a usable ISL. See config.log for details." "$LINENO" 5
|
||||
as_fn_error "Unable to find a usable isl. See config.log for details." "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
|
||||
# If the ISL check failed, disable builds of in-tree variant of ISL
|
||||
# If the isl check failed, disable builds of in-tree variant of isl
|
||||
if test "x$with_isl" = xno ||
|
||||
test "x$gcc_cv_isl" = xno; then
|
||||
noconfigdirs="$noconfigdirs isl"
|
||||
|
14
configure.ac
14
configure.ac
@ -1773,31 +1773,31 @@ AC_ARG_WITH(boot-ldflags,
|
||||
fi])
|
||||
AC_SUBST(poststage1_ldflags)
|
||||
|
||||
# GCC GRAPHITE dependency ISL.
|
||||
# GCC GRAPHITE dependency isl.
|
||||
# Basic setup is inlined here, actual checks are in config/isl.m4
|
||||
|
||||
AC_ARG_WITH(isl,
|
||||
[AS_HELP_STRING(
|
||||
[--with-isl=PATH],
|
||||
[Specify prefix directory for the installed ISL package.
|
||||
[Specify prefix directory for the installed isl package.
|
||||
Equivalent to --with-isl-include=PATH/include
|
||||
plus --with-isl-lib=PATH/lib])])
|
||||
|
||||
# Treat --without-isl as a request to disable
|
||||
# GRAPHITE support and skip all following checks.
|
||||
if test "x$with_isl" != "xno"; then
|
||||
# Check for ISL
|
||||
# Check for isl
|
||||
dnl Provide configure switches and initialize islinc & isllibs
|
||||
dnl with user input.
|
||||
ISL_INIT_FLAGS
|
||||
dnl The versions of ISL that work for Graphite
|
||||
dnl The versions of isl that work for Graphite
|
||||
ISL_CHECK_VERSION()
|
||||
dnl Only execute fail-action, if ISL has been requested.
|
||||
dnl Only execute fail-action, if isl has been requested.
|
||||
ISL_IF_FAILED([
|
||||
AC_MSG_ERROR([Unable to find a usable ISL. See config.log for details.])])
|
||||
AC_MSG_ERROR([Unable to find a usable isl. See config.log for details.])])
|
||||
fi
|
||||
|
||||
# If the ISL check failed, disable builds of in-tree variant of ISL
|
||||
# If the isl check failed, disable builds of in-tree variant of isl
|
||||
if test "x$with_isl" = xno ||
|
||||
test "x$gcc_cv_isl" = xno; then
|
||||
noconfigdirs="$noconfigdirs isl"
|
||||
|
@ -20,7 +20,7 @@
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
# If you want to disable Graphite loop optimizations while building GCC,
|
||||
# DO NOT set GRAPHITE_LOOP_OPT as yes so that the ISL package will not
|
||||
# DO NOT set GRAPHITE_LOOP_OPT as yes so that the isl package will not
|
||||
# be downloaded.
|
||||
GRAPHITE_LOOP_OPT=yes
|
||||
|
||||
|
@ -1,3 +1,23 @@
|
||||
2015-12-17 Sebastian Pop <s.pop@samsung.com>
|
||||
|
||||
* Makefile.in: Replace ISL with isl.
|
||||
* common.opt: Same.
|
||||
* configure: Regenerate.
|
||||
* configure.ac: Same.
|
||||
* doc/install.texi: Same.
|
||||
* doc/invoke.texi: Same.
|
||||
* graphite-isl-ast-to-gimple.c: Same.
|
||||
* graphite-scop-detection.c: Same.
|
||||
* graphite-sese-to-poly.c: Same.
|
||||
* graphite.c: Same.
|
||||
* graphite.h: Same.
|
||||
* params.def: Same.
|
||||
* testsuite/gcc.dg/graphite/fuse-1.c: Same.
|
||||
* testsuite/gcc.dg/graphite/fuse-2.c: Same.
|
||||
* testsuite/gcc.dg/graphite/interchange-1.c: Same.
|
||||
* testsuite/gcc.dg/graphite/pr35356-1.c: Same.
|
||||
* toplev.c: Same.
|
||||
|
||||
2015-12-17 Sebastian Pop <s.pop@samsung.com>
|
||||
|
||||
* graphite-dependences.c: Move all isl include files to...
|
||||
|
@ -365,7 +365,7 @@ ZLIBINC = @zlibinc@
|
||||
GMPLIBS = @GMPLIBS@
|
||||
GMPINC = @GMPINC@
|
||||
|
||||
# How to find ISL
|
||||
# How to find isl.
|
||||
ISLLIBS = @ISLLIBS@
|
||||
ISLINC = @ISLINC@
|
||||
|
||||
|
@ -1406,7 +1406,7 @@ Does nothing. Preserved for backward compatibility.
|
||||
|
||||
floop-nest-optimize
|
||||
Common Report Var(flag_loop_nest_optimize) Optimization
|
||||
Enable the ISL based loop nest optimizer.
|
||||
Enable the loop nest optimizer.
|
||||
|
||||
fstrict-volatile-bitfields
|
||||
Common Report Var(flag_strict_volatile_bitfields) Init(-1) Optimization
|
||||
|
8
gcc/configure
vendored
8
gcc/configure
vendored
@ -1750,8 +1750,8 @@ Some influential environment variables:
|
||||
CPP C preprocessor
|
||||
GMPLIBS How to link GMP
|
||||
GMPINC How to find GMP include files
|
||||
ISLLIBS How to link ISL
|
||||
ISLINC How to find ISL include files
|
||||
ISLLIBS How to link isl
|
||||
ISLINC How to find isl include files
|
||||
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
@ -28932,10 +28932,8 @@ $as_echo "#define HAVE_isl 1" >>confdefs.h
|
||||
|
||||
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.
|
||||
# it's new in isl 0.15.
|
||||
if test "x${ISLLIBS}" != "x" ; then
|
||||
saved_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $ISLINC"
|
||||
|
@ -5908,16 +5908,14 @@ fi
|
||||
AC_ARG_VAR(GMPLIBS,[How to link GMP])
|
||||
AC_ARG_VAR(GMPINC,[How to find GMP include files])
|
||||
|
||||
AC_ARG_VAR(ISLLIBS,[How to link ISL])
|
||||
AC_ARG_VAR(ISLINC,[How to find ISL include files])
|
||||
AC_ARG_VAR(ISLLIBS,[How to link isl])
|
||||
AC_ARG_VAR(ISLINC,[How to find isl include files])
|
||||
if test "x${ISLLIBS}" != "x" ; then
|
||||
AC_DEFINE(HAVE_isl, 1, [Define if isl is in use.])
|
||||
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.
|
||||
# it's new in isl 0.15.
|
||||
if test "x${ISLLIBS}" != "x" ; then
|
||||
saved_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $ISLINC"
|
||||
|
@ -383,14 +383,14 @@ 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.15 or 0.14.
|
||||
@item isl Library version 0.15 or 0.14.
|
||||
|
||||
Necessary to build GCC with the Graphite loop optimizations.
|
||||
It can be downloaded from @uref{ftp://gcc.gnu.org/pub/gcc/infrastructure/}.
|
||||
If an ISL source distribution is found
|
||||
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
|
||||
option should be used if isl is not installed in your default library
|
||||
search path.
|
||||
|
||||
@end table
|
||||
@ -1850,7 +1850,7 @@ a cross compiler, they will not be used to configure target libraries.
|
||||
@item --with-isl=@var{pathname}
|
||||
@itemx --with-isl-include=@var{pathname}
|
||||
@itemx --with-isl-lib=@var{pathname}
|
||||
If you do not have the ISL library installed in a standard location and you
|
||||
If you do not have the isl library installed in a standard location and you
|
||||
want to build GCC, you can explicitly specify the directory where it is
|
||||
installed (@samp{--with-isl=@/@var{islinstalldir}}). The
|
||||
@option{--with-isl=@/@var{islinstalldir}} option is shorthand for
|
||||
|
@ -8953,12 +8953,12 @@ Enable the identity transformation for graphite. For every SCoP we generate
|
||||
the polyhedral representation and transform it back to gimple. Using
|
||||
@option{-fgraphite-identity} we can check the costs or benefits of the
|
||||
GIMPLE -> GRAPHITE -> GIMPLE transformation. Some minimal optimizations
|
||||
are also performed by the code generator ISL, like index splitting and
|
||||
are also performed by the code generator isl, like index splitting and
|
||||
dead code elimination in loops.
|
||||
|
||||
@item -floop-nest-optimize
|
||||
@opindex floop-nest-optimize
|
||||
Enable the ISL based loop nest optimizer. This is a generic loop nest
|
||||
Enable the isl based loop nest optimizer. This is a generic loop nest
|
||||
optimizer based on the Pluto optimization algorithms. It calculates a loop
|
||||
structure optimized for data-locality and parallelism. This option
|
||||
is experimental.
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Translation of ISL AST to Gimple.
|
||||
/* Translation of isl AST to Gimple.
|
||||
Copyright (C) 2014-2015 Free Software Foundation, Inc.
|
||||
Contributed by Roman Gareev <gareevroman@gmail.com>.
|
||||
|
||||
@ -54,7 +54,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "cfganal.h"
|
||||
#include "value-prof.h"
|
||||
#include "graphite.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
/* We always try to use signed 128 bit types, but fall back to smaller types
|
||||
@ -99,12 +98,12 @@ graphite_verify (void)
|
||||
checking_verify_loop_closed_ssa (true);
|
||||
}
|
||||
|
||||
/* IVS_PARAMS maps ISL's scattering and parameter identifiers
|
||||
/* IVS_PARAMS maps isl's scattering and parameter identifiers
|
||||
to corresponding trees. */
|
||||
|
||||
typedef std::map<isl_id *, tree> ivs_params;
|
||||
|
||||
/* Free all memory allocated for ISL's identifiers. */
|
||||
/* Free all memory allocated for isl's identifiers. */
|
||||
|
||||
void ivs_params_clear (ivs_params &ip)
|
||||
{
|
||||
@ -146,7 +145,7 @@ class translate_isl_ast_to_gimple
|
||||
: region (r), codegen_error (false)
|
||||
{ }
|
||||
|
||||
/* Translates an ISL AST node NODE to GCC representation in the
|
||||
/* Translates an isl AST node NODE to GCC representation in the
|
||||
context of a SESE. */
|
||||
edge translate_isl_ast (loop_p context_loop, __isl_keep isl_ast_node *node,
|
||||
edge next_e, ivs_params &ip);
|
||||
@ -202,7 +201,7 @@ class translate_isl_ast_to_gimple
|
||||
tree nary_op_to_tree (tree type, __isl_take isl_ast_expr *expr,
|
||||
ivs_params &ip);
|
||||
|
||||
/* Converts an ISL AST expression E back to a GCC expression tree of
|
||||
/* Converts an isl AST expression E back to a GCC expression tree of
|
||||
type TYPE. */
|
||||
tree gcc_expression_from_isl_expression (tree type,
|
||||
__isl_take isl_ast_expr *,
|
||||
@ -234,7 +233,7 @@ class translate_isl_ast_to_gimple
|
||||
induction variable for the new LOOP. New LOOP is attached to CFG
|
||||
starting at ENTRY_EDGE. LOOP is inserted into the loop tree and
|
||||
becomes the child loop of the OUTER_LOOP. NEWIVS_INDEX binds
|
||||
ISL's scattering name to the induction variable created for the
|
||||
isl's scattering name to the induction variable created for the
|
||||
loop of STMT. The new induction variable is inserted in the NEWIVS
|
||||
vector and is of type TYPE. */
|
||||
struct loop *graphite_create_new_loop (edge entry_edge,
|
||||
@ -258,7 +257,7 @@ class translate_isl_ast_to_gimple
|
||||
tree *type,
|
||||
tree *lb, tree *ub, ivs_params &ip);
|
||||
|
||||
/* Creates a new if region corresponding to ISL's cond. */
|
||||
/* Creates a new if region corresponding to isl's cond. */
|
||||
edge graphite_create_new_guard (edge entry_edge,
|
||||
__isl_take isl_ast_expr *if_cond,
|
||||
ivs_params &ip);
|
||||
@ -277,7 +276,7 @@ class translate_isl_ast_to_gimple
|
||||
|
||||
void translate_pending_phi_nodes (void);
|
||||
|
||||
/* Add ISL's parameter identifiers and corresponding trees to ivs_params. */
|
||||
/* Add isl's parameter identifiers and corresponding trees to ivs_params. */
|
||||
|
||||
void add_parameters_to_ivs_params (scop_p scop, ivs_params &ip);
|
||||
|
||||
@ -497,7 +496,7 @@ private:
|
||||
/* The region to be translated. */
|
||||
sese_info_p region;
|
||||
|
||||
/* This flag is set when an error occurred during the translation of ISL AST
|
||||
/* This flag is set when an error occurred during the translation of isl AST
|
||||
to Gimple. */
|
||||
bool codegen_error;
|
||||
|
||||
@ -583,7 +582,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
|
||||
return fold_build2 (MULT_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_div:
|
||||
/* As ISL operates on arbitrary precision numbers, we may end up with
|
||||
/* As isl operates on arbitrary precision numbers, we may end up with
|
||||
division by 2^64 that is folded to 0. */
|
||||
if (integer_zerop (tree_rhs_expr))
|
||||
{
|
||||
@ -593,7 +592,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
|
||||
return fold_build2 (EXACT_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_pdiv_q:
|
||||
/* As ISL operates on arbitrary precision numbers, we may end up with
|
||||
/* As isl operates on arbitrary precision numbers, we may end up with
|
||||
division by 2^64 that is folded to 0. */
|
||||
if (integer_zerop (tree_rhs_expr))
|
||||
{
|
||||
@ -603,11 +602,11 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
|
||||
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. */
|
||||
/* isl 0.15 or later. */
|
||||
case isl_ast_op_zdiv_r:
|
||||
#endif
|
||||
case isl_ast_op_pdiv_r:
|
||||
/* As ISL operates on arbitrary precision numbers, we may end up with
|
||||
/* As isl operates on arbitrary precision numbers, we may end up with
|
||||
division by 2^64 that is folded to 0. */
|
||||
if (integer_zerop (tree_rhs_expr))
|
||||
{
|
||||
@ -617,7 +616,7 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
|
||||
return fold_build2 (TRUNC_MOD_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_fdiv_q:
|
||||
/* As ISL operates on arbitrary precision numbers, we may end up with
|
||||
/* As isl operates on arbitrary precision numbers, we may end up with
|
||||
division by 2^64 that is folded to 0. */
|
||||
if (integer_zerop (tree_rhs_expr))
|
||||
{
|
||||
@ -777,7 +776,7 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
|
||||
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. */
|
||||
/* isl 0.15 or later. */
|
||||
case isl_ast_op_zdiv_r:
|
||||
#endif
|
||||
case isl_ast_op_and:
|
||||
@ -802,7 +801,7 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
|
||||
return NULL_TREE;
|
||||
}
|
||||
|
||||
/* Converts an ISL AST expression E back to a GCC expression tree of
|
||||
/* Converts an isl AST expression E back to a GCC expression tree of
|
||||
type TYPE. */
|
||||
|
||||
tree
|
||||
@ -838,7 +837,7 @@ gcc_expression_from_isl_expression (tree type, __isl_take isl_ast_expr *expr,
|
||||
induction variable for the new LOOP. New LOOP is attached to CFG
|
||||
starting at ENTRY_EDGE. LOOP is inserted into the loop tree and
|
||||
becomes the child loop of the OUTER_LOOP. NEWIVS_INDEX binds
|
||||
ISL's scattering name to the induction variable created for the
|
||||
isl's scattering name to the induction variable created for the
|
||||
loop of STMT. The new induction variable is inserted in the NEWIVS
|
||||
vector and is of type TYPE. */
|
||||
|
||||
@ -1179,7 +1178,7 @@ translate_isl_ast_node_block (loop_p context_loop,
|
||||
return next_e;
|
||||
}
|
||||
|
||||
/* Creates a new if region corresponding to ISL's cond. */
|
||||
/* Creates a new if region corresponding to isl's cond. */
|
||||
|
||||
edge
|
||||
translate_isl_ast_to_gimple::
|
||||
@ -1224,7 +1223,7 @@ translate_isl_ast_node_if (loop_p context_loop,
|
||||
return last_e;
|
||||
}
|
||||
|
||||
/* Translates an ISL AST node NODE to GCC representation in the
|
||||
/* Translates an isl AST node NODE to GCC representation in the
|
||||
context of a SESE. */
|
||||
|
||||
edge
|
||||
@ -2931,7 +2930,7 @@ translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences (basic_block bb,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* In case ISL did some loop peeling, like this:
|
||||
/* In case isl did some loop peeling, like this:
|
||||
|
||||
S_8(0);
|
||||
for (int c1 = 1; c1 <= 5; c1 += 1) {
|
||||
@ -3065,7 +3064,7 @@ translate_isl_ast_to_gimple::print_isl_ast_node (FILE *file,
|
||||
isl_printer_free (prn);
|
||||
}
|
||||
|
||||
/* Add ISL's parameter identifiers and corresponding trees to ivs_params. */
|
||||
/* Add isl's parameter identifiers and corresponding trees to ivs_params. */
|
||||
|
||||
void
|
||||
translate_isl_ast_to_gimple::add_parameters_to_ivs_params (scop_p scop,
|
||||
@ -3263,7 +3262,7 @@ translate_isl_ast_to_gimple::scop_to_isl_ast (scop_p scop, ivs_params &ip)
|
||||
the given SCOP. Return true if code generation succeeded.
|
||||
|
||||
FIXME: This is not yet a full implementation of the code generator
|
||||
with ISL ASTs. Generation of GIMPLE code has to be completed. */
|
||||
with isl ASTs. Generation of GIMPLE code has to be completed. */
|
||||
|
||||
bool
|
||||
graphite_regenerate_ast_isl (scop_p scop)
|
||||
@ -3280,7 +3279,7 @@ graphite_regenerate_ast_isl (scop_p scop)
|
||||
|
||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||
{
|
||||
fprintf (dump_file, "ISL AST generated by ISL: \n");
|
||||
fprintf (dump_file, "AST generated by isl: \n");
|
||||
t.print_isl_ast_node (dump_file, root_node, scop->isl_context);
|
||||
}
|
||||
|
||||
|
@ -436,7 +436,7 @@ canonicalize_loop_closed_ssa_form (void)
|
||||
}
|
||||
|
||||
/* Can all ivs be represented by a signed integer?
|
||||
As ISL might generate negative values in its expressions, signed loop ivs
|
||||
As isl might generate negative values in its expressions, signed loop ivs
|
||||
are required in the backend. */
|
||||
|
||||
static bool
|
||||
@ -1198,7 +1198,7 @@ scop_detection::graphite_can_represent_scev (tree scev)
|
||||
return false;
|
||||
|
||||
/* We disable the handling of pointer types, because it’s currently not
|
||||
supported by Graphite with the ISL AST generator. SSA_NAME nodes are
|
||||
supported by Graphite with the isl AST generator. SSA_NAME nodes are
|
||||
the only nodes, which are disabled in case they are pointers to object
|
||||
types, but this can be changed. */
|
||||
|
||||
|
@ -67,7 +67,7 @@ tree_int_to_gmp (tree t, mpz_t res)
|
||||
wi::to_mpz (t, res, TYPE_SIGN (TREE_TYPE (t)));
|
||||
}
|
||||
|
||||
/* Return an ISL identifier for the polyhedral basic block PBB. */
|
||||
/* Return an isl identifier for the polyhedral basic block PBB. */
|
||||
|
||||
static isl_id *
|
||||
isl_id_for_pbb (scop_p s, poly_bb_p pbb)
|
||||
@ -260,7 +260,7 @@ extract_affine_mul (scop_p s, tree e, __isl_take isl_space *space)
|
||||
return isl_pw_aff_mul (lhs, rhs);
|
||||
}
|
||||
|
||||
/* Return an ISL identifier from the name of the ssa_name E. */
|
||||
/* Return an isl identifier from the name of the ssa_name E. */
|
||||
|
||||
static isl_id *
|
||||
isl_id_for_ssa_name (scop_p s, tree e)
|
||||
@ -270,7 +270,7 @@ isl_id_for_ssa_name (scop_p s, tree e)
|
||||
return isl_id_alloc (s->isl_context, name1, e);
|
||||
}
|
||||
|
||||
/* Return an ISL identifier for the data reference DR. Data references and
|
||||
/* Return an isl identifier for the data reference DR. Data references and
|
||||
scalar references get the same isl_id. They need to be comparable and are
|
||||
distinguished through the first dimension, which contains the alias set or
|
||||
SSA_NAME_VERSION number. */
|
||||
|
@ -336,12 +336,12 @@ graphite_transform_loops (void)
|
||||
isl_ctx_free (ctx);
|
||||
}
|
||||
|
||||
#else /* If ISL is not available: #ifndef HAVE_isl. */
|
||||
#else /* If isl is not available: #ifndef HAVE_isl. */
|
||||
|
||||
static void
|
||||
graphite_transform_loops (void)
|
||||
{
|
||||
sorry ("Graphite loop optimizations cannot be used (ISL is not available).");
|
||||
sorry ("Graphite loop optimizations cannot be used (isl is not available).");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -425,7 +425,7 @@ struct scop
|
||||
c = 2a + b */
|
||||
isl_set *param_context;
|
||||
|
||||
/* The context used internally by ISL. */
|
||||
/* The context used internally by isl. */
|
||||
isl_ctx *isl_context;
|
||||
|
||||
/* SCoP final schedule. */
|
||||
|
@ -865,7 +865,7 @@ DEFPARAM (PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION,
|
||||
|
||||
DEFPARAM (PARAM_MAX_ISL_OPERATIONS,
|
||||
"max-isl-operations",
|
||||
"maximum number of ISL operations, 0 means unlimited",
|
||||
"maximum number of isl operations, 0 means unlimited",
|
||||
350000, 0, 0)
|
||||
|
||||
/* Avoid data dependence analysis on very large loops. */
|
||||
|
@ -3,13 +3,13 @@
|
||||
/* { dg-options "-O2 -floop-nest-optimize -fdump-tree-forwprop-all -fdump-tree-graphite-all" } */
|
||||
|
||||
/* Make sure we fuse the loops like this:
|
||||
ISL AST generated by ISL:
|
||||
AST generated by isl:
|
||||
for (int c0 = 0; c0 <= 99; c0 += 1) {
|
||||
S_3(c0);
|
||||
S_6(c0);
|
||||
S_9(c0);
|
||||
} */
|
||||
/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
|
||||
/* { dg-final { scan-tree-dump-times "AST generated by isl:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
|
||||
|
||||
/* Check that after fusing the loops, the scalar computation is also fused. */
|
||||
/* { dg-final { scan-tree-dump-times "gimple_simplified to\[^\\n\]*\\^ 12" 1 "forwprop4" } } */
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Check that the three loops are fused. */
|
||||
|
||||
/* Make sure we fuse the loops like this:
|
||||
ISL AST generated by ISL:
|
||||
AST generated by isl:
|
||||
for (int c0 = 0; c0 <= 99; c0 += 1) {
|
||||
S_3(c0);
|
||||
S_6(c0);
|
||||
@ -9,7 +9,7 @@ for (int c0 = 0; c0 <= 99; c0 += 1) {
|
||||
}
|
||||
*/
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
|
||||
/* { dg-final { scan-tree-dump-times "AST generated by isl:.*for \\(int c0 = 0; c0 <= 99; c0 \\+= 1\\) \\{.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*S_.*\\(c0\\);.*\\}" 1 "graphite" } } */
|
||||
|
||||
#define MAX 100
|
||||
int A[MAX], B[MAX], C[MAX];
|
||||
|
@ -49,7 +49,7 @@ main (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*FIXME: Between ISL-0.12 and ISL-0.15 the schedule optimizer needs to print
|
||||
/*FIXME: Between isl 0.12 and isl 0.15 the schedule optimizer needs to print
|
||||
something canonical so that it can be checked in the test. The final code
|
||||
generated by both are same in this case but the messaged printed are
|
||||
not consistent. */
|
||||
|
@ -26,7 +26,7 @@ foo (int bar, int n, int k)
|
||||
|
||||
Check that this text is produced:
|
||||
|
||||
ISL AST generated by ISL:
|
||||
AST generated by isl:
|
||||
if (n >= k + 1 && k >= 0) {
|
||||
S_6(k);
|
||||
S_11(k);
|
||||
|
@ -1251,7 +1251,7 @@ process_options (void)
|
||||
|| flag_loop_nest_optimize
|
||||
|| flag_graphite_identity
|
||||
|| flag_loop_parallelize_all)
|
||||
sorry ("Graphite loop optimizations cannot be used (ISL is not available)"
|
||||
sorry ("Graphite loop optimizations cannot be used (isl is not available)"
|
||||
"(-fgraphite, -fgraphite-identity, -floop-block, "
|
||||
"-floop-interchange, -floop-strip-mine, -floop-parallelize-all, "
|
||||
"-floop-unroll-and-jam, and -ftree-loop-linear)");
|
||||
|
Loading…
Reference in New Issue
Block a user