[polly] r309727 - Update to isl-0.18-809-gd5b4535
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 1 12:37:50 PDT 2017
Author: grosser
Date: Tue Aug 1 12:37:50 2017
New Revision: 309727
URL: http://llvm.org/viewvc/llvm-project?rev=309727&view=rev
Log:
Update to isl-0.18-809-gd5b4535
This fixes some undefined behavior in the isl schedule tree code.
Modified:
polly/trunk/lib/External/isl/GIT_HEAD_ID
polly/trunk/lib/External/isl/Makefile.am
polly/trunk/lib/External/isl/Makefile.in
polly/trunk/lib/External/isl/configure
polly/trunk/lib/External/isl/configure.ac
polly/trunk/lib/External/isl/doc/user.pod
polly/trunk/lib/External/isl/isl_flow.c
polly/trunk/lib/External/isl/isl_scheduler.c
polly/trunk/lib/External/isl/schedule.c
Modified: polly/trunk/lib/External/isl/GIT_HEAD_ID
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/GIT_HEAD_ID?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/GIT_HEAD_ID (original)
+++ polly/trunk/lib/External/isl/GIT_HEAD_ID Tue Aug 1 12:37:50 2017
@@ -1 +1 @@
-isl-0.18-800-g4018f45
+isl-0.18-809-gd5b4535
Modified: polly/trunk/lib/External/isl/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/Makefile.am?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/Makefile.am (original)
+++ polly/trunk/lib/External/isl/Makefile.am Tue Aug 1 12:37:50 2017
@@ -12,9 +12,9 @@ noinst_PROGRAMS = isl_test isl_polyhedro
isl_polyhedron_minimize isl_polytope_scan \
isl_polyhedron_detect_equalities isl_cat \
isl_closure isl_bound isl_schedule isl_codegen isl_test_int \
- isl_flow isl_flow_cmp
+ isl_flow isl_flow_cmp isl_schedule_cmp
TESTS = isl_test codegen_test.sh pip_test.sh bound_test.sh isl_test_int \
- flow_test.sh
+ flow_test.sh schedule_test.sh
if IMATH_FOR_MP
@@ -221,6 +221,11 @@ isl_schedule_LDADD = libisl.la @MP_LIBS@
isl_schedule_SOURCES = \
schedule.c
+isl_schedule_cmp_LDFLAGS = @MP_LDFLAGS@
+isl_schedule_cmp_LDADD = libisl.la @MP_LIBS@
+isl_schedule_cmp_SOURCES = \
+ schedule_cmp.c
+
isl_flow_LDFLAGS = @MP_LDFLAGS@
isl_flow_LDADD = libisl.la @MP_LIBS@
isl_flow_SOURCES = \
Modified: polly/trunk/lib/External/isl/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/Makefile.in?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/Makefile.in (original)
+++ polly/trunk/lib/External/isl/Makefile.in Tue Aug 1 12:37:50 2017
@@ -97,9 +97,11 @@ noinst_PROGRAMS = isl_test$(EXEEXT) isl_
isl_polyhedron_detect_equalities$(EXEEXT) isl_cat$(EXEEXT) \
isl_closure$(EXEEXT) isl_bound$(EXEEXT) isl_schedule$(EXEEXT) \
isl_codegen$(EXEEXT) isl_test_int$(EXEEXT) isl_flow$(EXEEXT) \
- isl_flow_cmp$(EXEEXT) $(am__EXEEXT_1)
+ isl_flow_cmp$(EXEEXT) isl_schedule_cmp$(EXEEXT) \
+ $(am__EXEEXT_1)
TESTS = isl_test$(EXEEXT) codegen_test.sh pip_test.sh bound_test.sh \
- isl_test_int$(EXEEXT) flow_test.sh $(am__EXEEXT_1)
+ isl_test_int$(EXEEXT) flow_test.sh schedule_test.sh \
+ $(am__EXEEXT_1)
@IMATH_FOR_MP_TRUE at am__append_1 = isl_test_imath
@IMATH_FOR_MP_TRUE at am__append_2 = isl_test_imath
@IMATH_FOR_MP_TRUE@@SMALL_INT_OPT_TRUE at am__append_3 = isl_int_sioimath.h \
@@ -139,7 +141,7 @@ am__CONFIG_DISTCLEAN_FILES = config.stat
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = isl_config.h
CONFIG_CLEAN_FILES = isl_srcdir.c bound_test.sh codegen_test.sh \
- pip_test.sh flow_test.sh
+ pip_test.sh flow_test.sh schedule_test.sh
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -324,6 +326,13 @@ isl_schedule_DEPENDENCIES = libisl.la
isl_schedule_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(isl_schedule_LDFLAGS) $(LDFLAGS) -o $@
+am_isl_schedule_cmp_OBJECTS = schedule_cmp.$(OBJEXT)
+isl_schedule_cmp_OBJECTS = $(am_isl_schedule_cmp_OBJECTS)
+isl_schedule_cmp_DEPENDENCIES = libisl.la
+isl_schedule_cmp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(isl_schedule_cmp_LDFLAGS) $(LDFLAGS) \
+ -o $@
isl_test_SOURCES = isl_test.c
isl_test_OBJECTS = isl_test.$(OBJEXT)
isl_test_DEPENDENCIES = libisl.la
@@ -383,8 +392,8 @@ SOURCES = $(libisl_la_SOURCES) $(isl_bou
$(isl_polyhedron_detect_equalities_SOURCES) \
$(isl_polyhedron_minimize_SOURCES) \
$(isl_polyhedron_sample_SOURCES) $(isl_polytope_scan_SOURCES) \
- $(isl_schedule_SOURCES) isl_test.c isl_test_imath.c \
- isl_test_int.c
+ $(isl_schedule_SOURCES) $(isl_schedule_cmp_SOURCES) isl_test.c \
+ isl_test_imath.c isl_test_int.c
DIST_SOURCES = $(am__libisl_la_SOURCES_DIST) $(isl_bound_SOURCES) \
$(isl_cat_SOURCES) $(isl_closure_SOURCES) \
$(isl_codegen_SOURCES) $(isl_flow_SOURCES) \
@@ -392,8 +401,8 @@ DIST_SOURCES = $(am__libisl_la_SOURCES_D
$(isl_polyhedron_detect_equalities_SOURCES) \
$(isl_polyhedron_minimize_SOURCES) \
$(isl_polyhedron_sample_SOURCES) $(isl_polytope_scan_SOURCES) \
- $(isl_schedule_SOURCES) isl_test.c isl_test_imath.c \
- isl_test_int.c
+ $(isl_schedule_SOURCES) $(isl_schedule_cmp_SOURCES) isl_test.c \
+ isl_test_imath.c isl_test_int.c
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
@@ -642,9 +651,9 @@ TEST_LOG_COMPILE = $(TEST_LOG_COMPILER)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/bound_test.sh.in \
$(srcdir)/codegen_test.sh.in $(srcdir)/flow_test.sh.in \
$(srcdir)/isl_config.h.in $(srcdir)/isl_srcdir.c.in \
- $(srcdir)/pip_test.sh.in AUTHORS ChangeLog README compile \
- config.guess config.sub depcomp install-sh ltmain.sh missing \
- test-driver
+ $(srcdir)/pip_test.sh.in $(srcdir)/schedule_test.sh.in AUTHORS \
+ ChangeLog README compile config.guess config.sub depcomp \
+ install-sh ltmain.sh missing test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -1008,6 +1017,11 @@ isl_schedule_LDADD = libisl.la @MP_LIBS@
isl_schedule_SOURCES = \
schedule.c
+isl_schedule_cmp_LDFLAGS = @MP_LDFLAGS@
+isl_schedule_cmp_LDADD = libisl.la @MP_LIBS@
+isl_schedule_cmp_SOURCES = \
+ schedule_cmp.c
+
isl_flow_LDFLAGS = @MP_LDFLAGS@
isl_flow_LDADD = libisl.la @MP_LIBS@
isl_flow_SOURCES = \
@@ -1261,6 +1275,8 @@ pip_test.sh: $(top_builddir)/config.stat
cd $(top_builddir) && $(SHELL) ./config.status $@
flow_test.sh: $(top_builddir)/config.status $(srcdir)/flow_test.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+schedule_test.sh: $(top_builddir)/config.status $(srcdir)/schedule_test.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@@ -1369,6 +1385,10 @@ isl_schedule$(EXEEXT): $(isl_schedule_OB
@rm -f isl_schedule$(EXEEXT)
$(AM_V_CCLD)$(isl_schedule_LINK) $(isl_schedule_OBJECTS) $(isl_schedule_LDADD) $(LIBS)
+isl_schedule_cmp$(EXEEXT): $(isl_schedule_cmp_OBJECTS) $(isl_schedule_cmp_DEPENDENCIES) $(EXTRA_isl_schedule_cmp_DEPENDENCIES)
+ @rm -f isl_schedule_cmp$(EXEEXT)
+ $(AM_V_CCLD)$(isl_schedule_cmp_LINK) $(isl_schedule_cmp_OBJECTS) $(isl_schedule_cmp_LDADD) $(LIBS)
+
isl_test$(EXEEXT): $(isl_test_OBJECTS) $(isl_test_DEPENDENCIES) $(EXTRA_isl_test_DEPENDENCIES)
@rm -f isl_test$(EXEEXT)
$(AM_V_CCLD)$(isl_test_LINK) $(isl_test_OBJECTS) $(isl_test_LDADD) $(LIBS)
@@ -1486,6 +1506,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polytope_scan.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/print.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/schedule.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/schedule_cmp.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at imath_wrap/$(DEPDIR)/gmp_compat.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at imath_wrap/$(DEPDIR)/imath.Plo at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote at imath_wrap/$(DEPDIR)/imrat.Plo at am__quote@
@@ -1896,6 +1917,13 @@ flow_test.sh.log: flow_test.sh
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+schedule_test.sh.log: schedule_test.sh
+ @p='schedule_test.sh'; \
+ b='schedule_test.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
isl_test_imath.log: isl_test_imath$(EXEEXT)
@p='isl_test_imath$(EXEEXT)'; \
Modified: polly/trunk/lib/External/isl/configure
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure (original)
+++ polly/trunk/lib/External/isl/configure Tue Aug 1 12:37:50 2017
@@ -198,6 +198,7 @@ test -x / || exit 1"
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
@@ -205,8 +206,7 @@ test -x / || exit 1"
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
@@ -687,9 +687,9 @@ DUMPBIN
LD
FGREP
EGREP
-GREP
SED
LIBTOOL
+GREP
HAVE_CXX11
CXX11FLAGS
PRTDIAG
@@ -6601,6 +6601,69 @@ CXX11FLAGS=${CXX#$ac_save_CXX}
CXX="$ac_save_CXX"
CXXCPP="$ac_save_CXXCPP"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
case `pwd` in
*\ * | *\ *)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
@@ -6777,69 +6840,6 @@ Xsed="$SED -e 1s/^X//"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if ${ac_cv_path_EGREP+:} false; then :
@@ -17943,6 +17943,75 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Only expand once:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
@@ -20023,6 +20092,8 @@ ac_config_files="$ac_config_files pip_te
ac_config_files="$ac_config_files flow_test.sh"
+ac_config_files="$ac_config_files schedule_test.sh"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -21219,6 +21290,7 @@ do
"codegen_test.sh") CONFIG_FILES="$CONFIG_FILES codegen_test.sh" ;;
"pip_test.sh") CONFIG_FILES="$CONFIG_FILES pip_test.sh" ;;
"flow_test.sh") CONFIG_FILES="$CONFIG_FILES flow_test.sh" ;;
+ "schedule_test.sh") CONFIG_FILES="$CONFIG_FILES schedule_test.sh" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
@@ -23221,6 +23293,7 @@ fi ; rm conftest.sed # DONE generate $pk
"codegen_test.sh":F) chmod +x codegen_test.sh ;;
"pip_test.sh":F) chmod +x pip_test.sh ;;
"flow_test.sh":F) chmod +x flow_test.sh ;;
+ "schedule_test.sh":F) chmod +x schedule_test.sh ;;
esac
done # for ac_tag
Modified: polly/trunk/lib/External/isl/configure.ac
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure.ac?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure.ac (original)
+++ polly/trunk/lib/External/isl/configure.ac Tue Aug 1 12:37:50 2017
@@ -36,7 +36,9 @@ CXX11FLAGS=${CXX#$ac_save_CXX}
CXX="$ac_save_CXX"
CXXCPP="$ac_save_CXXCPP"
+AC_PROG_GREP
AC_PROG_LIBTOOL
+AC_PROG_SED
AC_CHECK_PROG(PERL, perl, perl, [])
AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex, [])
@@ -138,6 +140,7 @@ AC_CONFIG_FILES([bound_test.sh], [chmod
AC_CONFIG_FILES([codegen_test.sh], [chmod +x codegen_test.sh])
AC_CONFIG_FILES([pip_test.sh], [chmod +x pip_test.sh])
AC_CONFIG_FILES([flow_test.sh], [chmod +x flow_test.sh])
+AC_CONFIG_FILES([schedule_test.sh], [chmod +x schedule_test.sh])
AC_CONFIG_COMMANDS_POST([
dnl pass on arguments to subdir configures, but don't
dnl add them to config.status
Modified: polly/trunk/lib/External/isl/doc/user.pod
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/user.pod?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/doc/user.pod (original)
+++ polly/trunk/lib/External/isl/doc/user.pod Tue Aug 1 12:37:50 2017
@@ -721,6 +721,11 @@ The following binary properties are defi
isl_bool isl_val_abs_eq(__isl_keep isl_val *v1,
__isl_keep isl_val *v2);
+Comparisons to NaN always return false.
+That is, a NaN is not considered to hold any relative position
+with respect to any value. In particular, a NaN
+is neither considered to be equal to nor to be different from
+any value (including another NaN).
The function C<isl_val_abs_eq> checks whether its two arguments
are equal in absolute value.
Modified: polly/trunk/lib/External/isl/isl_flow.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_flow.c?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_flow.c (original)
+++ polly/trunk/lib/External/isl/isl_flow.c Tue Aug 1 12:37:50 2017
@@ -366,7 +366,6 @@ static int access_sort_cmp(const void *p
error:
sort_info->error = 1;
return 0;
-
}
/* Sort the must source accesses in their textual order.
@@ -721,30 +720,30 @@ static int can_precede_at_level(int shar
* If temp_rel[j] is empty, then there can be no improvement and
* we return immediately.
*
- * This function returns 0 in case it was executed successfully and
- * -1 in case of errors during the execution of this function.
+ * This function returns isl_stat_ok in case it was executed successfully and
+ * isl_stat_error in case of errors during the execution of this function.
*/
-static int intermediate_sources(__isl_keep isl_access_info *acc,
+static isl_stat intermediate_sources(__isl_keep isl_access_info *acc,
struct isl_map **temp_rel, int j, int sink_level)
{
int k, level;
int depth = 2 * isl_map_dim(acc->source[j].map, isl_dim_in) + 1;
if (isl_map_plain_is_empty(temp_rel[j]))
- return 0;
+ return isl_stat_ok;
for (k = j - 1; k >= 0; --k) {
int plevel, plevel2;
plevel = acc->level_before(acc->source[k].data, acc->sink.data);
if (plevel < 0)
- return -1;
+ return isl_stat_error;
if (!can_precede_at_level(plevel, sink_level))
continue;
plevel2 = acc->level_before(acc->source[j].data,
acc->source[k].data);
if (plevel2 < 0)
- return -1;
+ return isl_stat_error;
for (level = sink_level; level <= depth; ++level) {
struct isl_map *T;
@@ -767,7 +766,7 @@ static int intermediate_sources(__isl_ke
}
}
- return 0;
+ return isl_stat_ok;
}
/* Compute all iterations of may source j that precedes the sink at the given
@@ -1180,14 +1179,14 @@ static __isl_give isl_flow *compute_val_
must_rel[j] = isl_map_union_disjoint(must_rel[j], T);
mustdo = rest;
- if (intermediate_sources(acc, must_rel, j, level))
+ if (intermediate_sources(acc, must_rel, j, level) < 0)
goto error;
T = last_source(acc, maydo, j, level, &rest);
may_rel[j] = isl_map_union_disjoint(may_rel[j], T);
maydo = rest;
- if (intermediate_sources(acc, may_rel, j, level))
+ if (intermediate_sources(acc, may_rel, j, level) < 0)
goto error;
if (isl_set_plain_is_empty(mustdo) &&
@@ -1204,9 +1203,9 @@ static __isl_give isl_flow *compute_val_
if (!can_precede_at_level(plevel, level))
continue;
- if (intermediate_sources(acc, must_rel, j, level))
+ if (intermediate_sources(acc, must_rel, j, level) < 0)
goto error;
- if (intermediate_sources(acc, may_rel, j, level))
+ if (intermediate_sources(acc, may_rel, j, level) < 0)
goto error;
}
Modified: polly/trunk/lib/External/isl/isl_scheduler.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_scheduler.c?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_scheduler.c (original)
+++ polly/trunk/lib/External/isl/isl_scheduler.c Tue Aug 1 12:37:50 2017
@@ -308,8 +308,9 @@ static int is_conditional_validity(struc
* rows in the node schedules
* n_total_row is the current number of rows in the node schedules
* band_start is the starting row in the node schedules of the current band
- * root is set if this graph is the original dependence graph,
- * without any splitting
+ * root is set to the the original dependence graph from which this graph
+ * is derived through splitting. If this graph is not the result of
+ * splitting, then the root field points to the graph itself.
*
* sorted contains a list of node indices sorted according to the
* SCC to which a node belongs
@@ -357,7 +358,7 @@ struct isl_sched_graph {
int n_total_row;
int band_start;
- int root;
+ struct isl_sched_graph *root;
struct isl_sched_edge *edge;
int n_edge;
@@ -420,6 +421,14 @@ static struct isl_sched_node *graph_find
return entry ? entry->data : NULL;
}
+/* Is "node" a node in "graph"?
+ */
+static int is_node(struct isl_sched_graph *graph,
+ struct isl_sched_node *node)
+{
+ return node && node >= &graph->node[0] && node < &graph->node[graph->n];
+}
+
static int edge_has_src_and_dst(const void *entry, const void *val)
{
const struct isl_sched_edge *edge = entry;
@@ -660,7 +669,7 @@ static void graph_free(isl_ctx *ctx, str
isl_map_free(graph->node[i].sched_map);
isl_mat_free(graph->node[i].indep);
isl_mat_free(graph->node[i].vmap);
- if (graph->root)
+ if (graph->root == graph)
free(graph->node[i].coincident);
isl_multi_val_free(graph->node[i].sizes);
isl_basic_set_free(graph->node[i].bounds);
@@ -1321,7 +1330,7 @@ static isl_stat graph_init(struct isl_sc
if (compute_max_row(graph, sc) < 0)
return isl_stat_error;
- graph->root = 1;
+ graph->root = graph;
graph->n = 0;
domain = isl_schedule_constraints_get_domain(sc);
domain = isl_union_set_intersect_params(domain,
@@ -3502,6 +3511,7 @@ static int extract_sub_graph(isl_ctx *ct
++n_edge;
if (graph_alloc(ctx, sub, n, n_edge) < 0)
return -1;
+ sub->root = graph->root;
if (copy_nodes(sub, graph, node_pred, data) < 0)
return -1;
if (graph_init_table(ctx, sub) < 0)
@@ -3864,6 +3874,10 @@ static void isl_carry_clear(struct isl_c
* If so, return that node.
* Otherwise, "space" was constructed by construct_compressed_id and
* contains a user pointer pointing to the node in the tuple id.
+ * However, this node belongs to the original dependence graph.
+ * If "graph" is a subgraph of this original dependence graph,
+ * then the node with the same space still needs to be looked up
+ * in the current graph.
*/
static struct isl_sched_node *graph_find_compressed_node(isl_ctx *ctx,
struct isl_sched_graph *graph, __isl_keep isl_space *space)
@@ -3885,9 +3899,11 @@ static struct isl_sched_node *graph_find
if (!node)
return NULL;
- if (!(node >= &graph->node[0] && node < &graph->node[graph->n]))
+ if (!is_node(graph->root, node))
isl_die(ctx, isl_error_internal,
"space points to invalid node", return NULL);
+ if (graph != graph->root)
+ node = graph_find_node(ctx, graph, node->space);
return node;
}
Modified: polly/trunk/lib/External/isl/schedule.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/schedule.c?rev=309727&r1=309726&r2=309727&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/schedule.c (original)
+++ polly/trunk/lib/External/isl/schedule.c Tue Aug 1 12:37:50 2017
@@ -10,6 +10,7 @@
* prints a schedule that satisfies those constraints.
*/
+#include <stdlib.h>
#include <isl/options.h>
#include <isl/schedule.h>
@@ -37,5 +38,5 @@ int main(int argc, char **argv)
isl_ctx_free(ctx);
- return 0;
+ return p ? EXIT_SUCCESS : EXIT_FAILURE;
}
More information about the llvm-commits
mailing list