[polly] r290389 - Update isl to isl-0.18-9-gd4734f3
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 22 15:08:58 PST 2016
Author: grosser
Date: Thu Dec 22 17:08:57 2016
New Revision: 290389
URL: http://llvm.org/viewvc/llvm-project?rev=290389&view=rev
Log:
Update isl to isl-0.18-9-gd4734f3
Modified:
polly/trunk/lib/External/isl/AUTHORS
polly/trunk/lib/External/isl/ChangeLog
polly/trunk/lib/External/isl/GIT_HEAD_ID
polly/trunk/lib/External/isl/config.guess
polly/trunk/lib/External/isl/config.sub
polly/trunk/lib/External/isl/configure
polly/trunk/lib/External/isl/configure.ac
polly/trunk/lib/External/isl/doc/manual.pdf
polly/trunk/lib/External/isl/include/isl/ast_build.h
polly/trunk/lib/External/isl/isl_affine_hull.c
polly/trunk/lib/External/isl/isl_coalesce.c
polly/trunk/lib/External/isl/isl_convex_hull.c
polly/trunk/lib/External/isl/isl_equalities.c
polly/trunk/lib/External/isl/isl_map.c
polly/trunk/lib/External/isl/isl_output.c
polly/trunk/lib/External/isl/isl_schedule_tree.c
polly/trunk/lib/External/isl/isl_scheduler.c
polly/trunk/lib/External/isl/isl_tab.c
polly/trunk/lib/External/isl/isl_tab.h
polly/trunk/lib/External/isl/isl_test.c
polly/trunk/lib/External/isl/ltmain.sh
polly/trunk/lib/External/isl/m4/libtool.m4
Modified: polly/trunk/lib/External/isl/AUTHORS
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/AUTHORS?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/AUTHORS (original)
+++ polly/trunk/lib/External/isl/AUTHORS Thu Dec 22 17:08:57 2016
@@ -23,7 +23,7 @@ isl was written by
Domaine de Voluceau - Rocquencourt, B.P. 105
78153 Le Chesnay
France
-2015 Polly Labs
+2015-2016 Polly Labs
Contributions by
@@ -38,6 +38,7 @@ Andreas Kloeckner
Michael Kruse
Sebastian Pop
Louis-Noel Pouchet
+Benoit Pradelle
Uday Kumar Reddy
Andreas Simbuerger
Sven van Haastregt
Modified: polly/trunk/lib/External/isl/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/ChangeLog?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/ChangeLog (original)
+++ polly/trunk/lib/External/isl/ChangeLog Thu Dec 22 17:08:57 2016
@@ -1,3 +1,13 @@
+version: 0.18
+date: Sun Dec 18 11:01:58 CET 2016
+changes:
+ - improve elimination of redundant existentially quantified variables
+ - improve coalescing
+ - improve parametric integer programming
+ - preserve isolate option in isl_schedule_node_band_split
+ - print AST nodes in YAML format
+ - minor improvements to Python bindings
+---
version: 0.17.1
date: Fri May 6 12:02:48 CEST 2016
changes:
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=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/GIT_HEAD_ID (original)
+++ polly/trunk/lib/External/isl/GIT_HEAD_ID Thu Dec 22 17:08:57 2016
@@ -1 +1 @@
-isl-0.17.1-314-g3106e8d
+isl-0.18-9-gd4734f3
Modified: polly/trunk/lib/External/isl/config.guess
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/config.guess?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/config.guess (original)
+++ polly/trunk/lib/External/isl/config.guess Thu Dec 22 17:08:57 2016
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-08-20'
+timestamp='2016-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-08-20'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches at gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -237,6 +237,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
@@ -268,42 +272,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -376,16 +380,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH="i386"
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -410,7 +414,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
@@ -635,13 +639,13 @@ EOF
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
@@ -680,11 +684,11 @@ EOF
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
@@ -697,12 +701,12 @@ EOF
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -807,14 +811,14 @@ EOF
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -896,7 +900,7 @@ EOF
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
@@ -919,7 +923,7 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
@@ -965,6 +969,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1120,7 +1127,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1269,6 +1276,9 @@ EOF
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1282,9 +1292,9 @@ EOF
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
@@ -1306,7 +1316,7 @@ EOF
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
@@ -1337,7 +1347,7 @@ EOF
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
@@ -1379,7 +1389,7 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
@@ -1390,6 +1400,9 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
@@ -1399,9 +1412,9 @@ This script, last modified $timestamp, h
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
If the version you run ($0) is already up to date, please
send the following data and any information you think might be
Modified: polly/trunk/lib/External/isl/config.sub
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/config.sub?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/config.sub (original)
+++ polly/trunk/lib/External/isl/config.sub Thu Dec 22 17:08:57 2016
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-08-20'
+timestamp='2016-03-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-08-20'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-08-20'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patch
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -521,7 +520,7 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
+ asmjs)
basic_machine=asmjs-unknown
;;
aux)
@@ -1383,7 +1382,7 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
@@ -1399,7 +1398,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1531,6 +1531,8 @@ case $os in
;;
-nacl*)
;;
+ -ios)
+ ;;
-none)
;;
*)
Modified: polly/trunk/lib/External/isl/configure
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure (original)
+++ polly/trunk/lib/External/isl/configure Thu Dec 22 17:08:57 2016
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for isl 0.17.1.
+# Generated by GNU Autoconf 2.69 for isl 0.18.
#
# Report bugs to <isl-development at googlegroups.com>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='isl'
PACKAGE_TARNAME='isl'
-PACKAGE_VERSION='0.17.1'
-PACKAGE_STRING='isl 0.17.1'
+PACKAGE_VERSION='0.18'
+PACKAGE_STRING='isl 0.18'
PACKAGE_BUGREPORT='isl-development at googlegroups.com'
PACKAGE_URL=''
@@ -1375,7 +1375,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures isl 0.17.1 to adapt to many kinds of systems.
+\`configure' configures isl 0.18 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1446,7 +1446,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of isl 0.17.1:";;
+ short | recursive ) echo "Configuration of isl 0.18:";;
esac
cat <<\_ACEOF
@@ -1576,7 +1576,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-isl configure 0.17.1
+isl configure 0.18
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2471,7 +2471,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by isl $as_me 0.17.1, which was
+It was created by isl $as_me 0.18, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3335,7 +3335,7 @@ fi
# Define the identity of the package.
PACKAGE='isl'
- VERSION='0.17.1'
+ VERSION='0.18'
cat >>confdefs.h <<_ACEOF
@@ -3468,7 +3468,7 @@ fi
AM_BACKSLASH='\'
-versioninfo=17:1:2
+versioninfo=18:0:3
if test "x$prefix" != "xNONE"; then
prefix_wd=`cd $prefix && pwd`
@@ -19855,7 +19855,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by isl $as_me 0.17.1, which was
+This file was extended by isl $as_me 0.18, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19921,7 +19921,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-isl config.status 0.17.1
+isl config.status 0.18
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -21186,7 +21186,6 @@ $as_echo X"$file" |
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
Modified: polly/trunk/lib/External/isl/configure.ac
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/configure.ac?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/configure.ac (original)
+++ polly/trunk/lib/External/isl/configure.ac Thu Dec 22 17:08:57 2016
@@ -1,10 +1,10 @@
-AC_INIT([isl], [0.17.1], [isl-development at googlegroups.com])
+AC_INIT([isl], [0.18], [isl-development at googlegroups.com])
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AC_SUBST(versioninfo)
-versioninfo=17:1:2
+versioninfo=18:0:3
if test "x$prefix" != "xNONE"; then
prefix_wd=`cd $prefix && pwd`
Modified: polly/trunk/lib/External/isl/doc/manual.pdf
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/doc/manual.pdf?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
Binary files polly/trunk/lib/External/isl/doc/manual.pdf (original) and polly/trunk/lib/External/isl/doc/manual.pdf Thu Dec 22 17:08:57 2016 differ
Modified: polly/trunk/lib/External/isl/include/isl/ast_build.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/include/isl/ast_build.h?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/include/isl/ast_build.h (original)
+++ polly/trunk/lib/External/isl/include/isl/ast_build.h Thu Dec 22 17:08:57 2016
@@ -94,22 +94,22 @@ __isl_give isl_ast_build *isl_ast_build_
__isl_give isl_ast_node *(*fn)(__isl_take isl_ast_build *build,
void *user), void *user);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_expr_from_set(
__isl_keep isl_ast_build *build, __isl_take isl_set *set);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_expr_from_pw_aff(
__isl_keep isl_ast_build *build, __isl_take isl_pw_aff *pa);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_access_from_pw_multi_aff(
__isl_keep isl_ast_build *build, __isl_take isl_pw_multi_aff *pma);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_access_from_multi_pw_aff(
__isl_keep isl_ast_build *build, __isl_take isl_multi_pw_aff *mpa);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_call_from_pw_multi_aff(
__isl_keep isl_ast_build *build, __isl_take isl_pw_multi_aff *pma);
-__isl_export
+__isl_overload
__isl_give isl_ast_expr *isl_ast_build_call_from_multi_pw_aff(
__isl_keep isl_ast_build *build, __isl_take isl_multi_pw_aff *mpa);
Modified: polly/trunk/lib/External/isl/isl_affine_hull.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_affine_hull.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_affine_hull.c (original)
+++ polly/trunk/lib/External/isl/isl_affine_hull.c Thu Dec 22 17:08:57 2016
@@ -628,7 +628,7 @@ __isl_give isl_basic_set *isl_basic_set_
/* Drop constraints from "map" by applying "drop" to each basic map.
*/
-__isl_give isl_map *drop_constraints(__isl_take isl_map *map,
+static __isl_give isl_map *drop_constraints(__isl_take isl_map *map,
enum isl_dim_type type, unsigned first, unsigned n,
__isl_give isl_basic_map *(*drop)(__isl_take isl_basic_map *bmap,
enum isl_dim_type type, unsigned first, unsigned n))
Modified: polly/trunk/lib/External/isl/isl_coalesce.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_coalesce.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_coalesce.c (original)
+++ polly/trunk/lib/External/isl/isl_coalesce.c Thu Dec 22 17:08:57 2016
@@ -3,7 +3,7 @@
* Copyright 2010 INRIA Saclay
* Copyright 2012-2013 Ecole Normale Superieure
* Copyright 2014 INRIA Rocquencourt
- * Copyright 2016 Sven Verdoolaege
+ * Copyright 2016 INRIA Paris
*
* Use of this software is governed by the MIT license
*
@@ -14,6 +14,8 @@
* and Ecole Normale Superieure, 45 rue dâUlm, 75230 Paris, France
* and Inria Paris - Rocquencourt, Domaine de Voluceau - Rocquencourt,
* B.P. 105 - 78153 Le Chesnay, France
+ * and Centre de Recherche Inria de Paris, 2 rue Simone Iff - Voie DQ12,
+ * CS 42112, 75589 Paris Cedex 12, France
*/
#include <isl_ctx_private.h>
@@ -2364,6 +2366,7 @@ static enum isl_change coalesce_with_exp
init_status(info_i);
bmap = isl_basic_map_copy(bmap);
bmap = isl_basic_map_expand_divs(bmap, isl_mat_copy(div), exp);
+ bmap = isl_basic_map_mark_final(bmap);
if (!bmap)
goto error;
Modified: polly/trunk/lib/External/isl/isl_convex_hull.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_convex_hull.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_convex_hull.c (original)
+++ polly/trunk/lib/External/isl/isl_convex_hull.c Thu Dec 22 17:08:57 2016
@@ -86,7 +86,12 @@ int isl_basic_set_constraint_is_redundan
* Since some constraints may be mutually redundant, sort the constraints
* first such that constraints that involve existentially quantified
* variables are considered for removal before those that do not.
- * The sorting is also need for the use in map_simple_hull.
+ * The sorting is also needed for the use in map_simple_hull.
+ *
+ * Note that isl_tab_detect_implicit_equalities may also end up
+ * marking some constraints as redundant. Make sure the constraints
+ * are preserved and undo those marking such that isl_tab_detect_redundant
+ * can consider the constraints in the sorted order.
*
* Alternatively, we could have intersected the basic map with the
* corresponding equality and then checked if the dimension was that
@@ -110,8 +115,14 @@ __isl_give isl_basic_map *isl_basic_map_
bmap = isl_basic_map_sort_constraints(bmap);
tab = isl_tab_from_basic_map(bmap, 0);
+ if (!tab)
+ goto error;
+ tab->preserve = 1;
if (isl_tab_detect_implicit_equalities(tab) < 0)
goto error;
+ if (isl_tab_restore_redundant(tab) < 0)
+ goto error;
+ tab->preserve = 0;
if (isl_tab_detect_redundant(tab) < 0)
goto error;
bmap = isl_basic_map_update_from_tab(bmap, tab);
Modified: polly/trunk/lib/External/isl/isl_equalities.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_equalities.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_equalities.c (original)
+++ polly/trunk/lib/External/isl/isl_equalities.c Thu Dec 22 17:08:57 2016
@@ -689,7 +689,8 @@ static struct isl_basic_set *compress_va
isl_mat_free(*T2);
*T2 = NULL;
}
- return isl_basic_set_set_to_empty(bset);
+ bset = isl_basic_set_set_to_empty(bset);
+ return return_with_identity(bset, T, T2);
}
bset = isl_basic_set_preimage(bset, T ? isl_mat_copy(TC) : TC);
Modified: polly/trunk/lib/External/isl/isl_map.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_map.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_map.c (original)
+++ polly/trunk/lib/External/isl/isl_map.c Thu Dec 22 17:08:57 2016
@@ -3,6 +3,7 @@
* Copyright 2010 INRIA Saclay
* Copyright 2012-2014 Ecole Normale Superieure
* Copyright 2014 INRIA Rocquencourt
+ * Copyright 2016 INRIA Paris
* Copyright 2016 Sven Verdoolaege
*
* Use of this software is governed by the MIT license
@@ -14,6 +15,8 @@
* and Ecole Normale Superieure, 45 rue dâUlm, 75230 Paris, France
* and Inria Paris - Rocquencourt, Domaine de Voluceau - Rocquencourt,
* B.P. 105 - 78153 Le Chesnay, France
+ * and Centre de Recherche Inria de Paris, 2 rue Simone Iff - Voie DQ12,
+ * CS 42112, 75589 Paris Cedex 12, France
*/
#include <string.h>
Modified: polly/trunk/lib/External/isl/isl_output.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_output.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_output.c (original)
+++ polly/trunk/lib/External/isl/isl_output.c Thu Dec 22 17:08:57 2016
@@ -28,6 +28,7 @@
#include <isl_local_space_private.h>
#include <isl_aff_private.h>
#include <isl_val_private.h>
+#include <isl_constraint_private.h>
#include <isl/ast_build.h>
#include <isl_sort.h>
#include <isl_output_private.h>
@@ -729,24 +730,52 @@ static __isl_give isl_printer *print_div
return p;
}
-/* Does printing "bmap" require an "exists" clause?
+/* Does printing an object with local variables described by "div"
+ * require an "exists" clause?
* That is, are there any local variables without an explicit representation?
+ * An exists clause is also needed in "dump" mode because
+ * explicit div representations are not printed inline in that case.
*/
-static isl_bool need_exists(__isl_keep isl_printer *p,
- __isl_keep isl_basic_map *bmap, __isl_keep isl_mat *div)
+static isl_bool need_exists(__isl_keep isl_printer *p, __isl_keep isl_mat *div)
{
- int i;
+ int i, n;
- if (!p || !bmap)
+ if (!p || !div)
return isl_bool_error;
- if (bmap->n_div == 0)
+ n = isl_mat_rows(div);
+ if (n == 0)
return isl_bool_false;
- for (i = 0; i < bmap->n_div; ++i)
+ if (p->dump)
+ return isl_bool_true;
+ for (i = 0; i < n; ++i)
if (!can_print_div_expr(p, div, i))
return isl_bool_true;
return isl_bool_false;
}
+/* Print the start of an exists clause, i.e.,
+ *
+ * (exists variables:
+ *
+ * In dump mode, local variables with an explicit definition are printed
+ * as well because they will not be printed inline.
+ */
+static __isl_give isl_printer *open_exists(__isl_take isl_printer *p,
+ __isl_keep isl_space *space, __isl_keep isl_mat *div, int latex)
+{
+ int dump;
+
+ if (!p)
+ return NULL;
+
+ dump = p->dump;
+ p = isl_printer_print_str(p, s_open_exists[latex]);
+ p = print_div_list(p, space, div, latex, dump);
+ p = isl_printer_print_str(p, ": ");
+
+ return p;
+}
+
/* Print the constraints of "bmap" to "p".
* The names of the variables are taken from "space".
* "latex" is set if the constraints should be printed in LaTeX format.
@@ -763,15 +792,9 @@ static __isl_give isl_printer *print_dis
return NULL;
dump = p->dump;
div = isl_basic_map_get_divs(bmap);
- if (dump)
- exists = bmap->n_div > 0;
- else
- exists = need_exists(p, bmap, div);
- if (exists >= 0 && exists) {
- p = isl_printer_print_str(p, s_open_exists[latex]);
- p = print_div_list(p, space, div, latex, dump);
- p = isl_printer_print_str(p, ": ");
- }
+ exists = need_exists(p, div);
+ if (exists >= 0 && exists)
+ p = open_exists(p, space, div, latex);
if (dump)
div = isl_mat_free(div);
@@ -851,6 +874,23 @@ static __isl_give isl_printer *isl_set_p
return p;
}
+/* Print the list of parameters in "space", followed by an arrow, to "p",
+ * if there are any parameters.
+ */
+static __isl_give isl_printer *print_param_tuple(__isl_take isl_printer *p,
+ __isl_keep isl_space *space, struct isl_print_space_data *data)
+{
+ if (!p || !space)
+ return isl_printer_free(p);
+ if (isl_space_dim(space, isl_dim_param) == 0)
+ return p;
+
+ p = print_tuple(space, p, isl_dim_param, data);
+ p = isl_printer_print_str(p, s_to[data->latex]);
+
+ return p;
+}
+
static __isl_give isl_printer *isl_basic_map_print_isl(
__isl_keep isl_basic_map *bmap, __isl_take isl_printer *p,
int latex)
@@ -858,10 +898,7 @@ static __isl_give isl_printer *isl_basic
struct isl_print_space_data data = { .latex = latex };
int rational = ISL_F_ISSET(bmap, ISL_BASIC_MAP_RATIONAL);
- if (isl_basic_map_dim(bmap, isl_dim_param) > 0) {
- p = print_tuple(bmap->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, bmap->dim, &data);
p = isl_printer_print_str(p, "{ ");
p = isl_print_space(bmap->dim, p, rational, &data);
p = isl_printer_print_str(p, " : ");
@@ -1224,10 +1261,7 @@ static __isl_give isl_printer *isl_map_p
{
struct isl_print_space_data data = { 0 };
- if (isl_map_dim(map, isl_dim_param) > 0) {
- p = print_tuple(map->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, s_to[0]);
- }
+ p = print_param_tuple(p, map->dim, &data);
p = isl_printer_print_str(p, s_open_set[0]);
p = isl_map_print_isl_body(map, p);
p = isl_printer_print_str(p, s_close_set[0]);
@@ -1240,10 +1274,7 @@ static __isl_give isl_printer *print_lat
struct isl_print_space_data data = { 0 };
data.latex = 1;
- if (isl_map_dim(map, isl_dim_param) > 0) {
- p = print_tuple(map->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, s_to[1]);
- }
+ p = print_param_tuple(p, map->dim, &data);
p = isl_printer_print_str(p, s_open_set[1]);
data.print_dim = &print_dim_eq;
data.user = aff;
@@ -1383,14 +1414,11 @@ static __isl_give isl_printer *isl_union
{
struct isl_union_print_data data;
struct isl_print_space_data space_data = { 0 };
- isl_space *dim;
+ isl_space *space;
- dim = isl_union_map_get_space(umap);
- if (isl_space_dim(dim, isl_dim_param) > 0) {
- p = print_tuple(dim, p, isl_dim_param, &space_data);
- p = isl_printer_print_str(p, s_to[0]);
- }
- isl_space_free(dim);
+ space = isl_union_map_get_space(umap);
+ p = print_param_tuple(p, space, &space_data);
+ isl_space_free(space);
p = isl_printer_print_str(p, s_open_set[0]);
data.p = p;
data.first = 1;
@@ -1612,10 +1640,7 @@ static __isl_give isl_printer *print_qpo
if (!p || !qp)
goto error;
- if (isl_space_dim(qp->dim, isl_dim_param) > 0) {
- p = print_tuple(qp->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, qp->dim, &data);
p = isl_printer_print_str(p, "{ ");
if (!isl_space_is_params(qp->dim)) {
p = isl_print_space(qp->dim, p, 0, &data);
@@ -1757,10 +1782,7 @@ static __isl_give isl_printer *print_pw_
if (!p || !pwqp)
goto error;
- if (isl_space_dim(pwqp->dim, isl_dim_param) > 0) {
- p = print_tuple(pwqp->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, pwqp->dim, &data);
p = isl_printer_print_str(p, "{ ");
if (pwqp->n == 0) {
if (!isl_space_is_set(pwqp->dim)) {
@@ -1821,10 +1843,7 @@ static __isl_give isl_printer *print_pw_
{
struct isl_print_space_data data = { 0 };
- if (isl_space_dim(pwf->dim, isl_dim_param) > 0) {
- p = print_tuple(pwf->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, pwf->dim, &data);
p = isl_printer_print_str(p, "{ ");
if (pwf->n == 0) {
if (!isl_space_is_set(pwf->dim)) {
@@ -2063,14 +2082,11 @@ static __isl_give isl_printer *print_uni
{
struct isl_union_print_data data;
struct isl_print_space_data space_data = { 0 };
- isl_space *dim;
+ isl_space *space;
- dim = isl_union_pw_qpolynomial_get_space(upwqp);
- if (isl_space_dim(dim, isl_dim_param) > 0) {
- p = print_tuple(dim, p, isl_dim_param, &space_data);
- p = isl_printer_print_str(p, " -> ");
- }
- isl_space_free(dim);
+ space = isl_union_pw_qpolynomial_get_space(upwqp);
+ p = print_param_tuple(p, space, &space_data);
+ isl_space_free(space);
p = isl_printer_print_str(p, "{ ");
data.p = p;
data.first = 1;
@@ -2208,14 +2224,11 @@ static __isl_give isl_printer *print_uni
{
struct isl_union_print_data data;
struct isl_print_space_data space_data = { 0 };
- isl_space *dim;
+ isl_space *space;
- dim = isl_union_pw_qpolynomial_fold_get_space(upwf);
- if (isl_space_dim(dim, isl_dim_param) > 0) {
- p = print_tuple(dim, p, isl_dim_param, &space_data);
- p = isl_printer_print_str(p, " -> ");
- }
- isl_space_free(dim);
+ space = isl_union_pw_qpolynomial_fold_get_space(upwf);
+ p = print_param_tuple(p, space, &space_data);
+ isl_space_free(space);
p = isl_printer_print_str(p, "{ ");
data.p = p;
data.first = 1;
@@ -2243,17 +2256,43 @@ error:
return NULL;
}
+/* Print the isl_constraint "c" to "p".
+ */
__isl_give isl_printer *isl_printer_print_constraint(__isl_take isl_printer *p,
__isl_keep isl_constraint *c)
{
- isl_basic_map *bmap;
+ struct isl_print_space_data data = { 0 };
+ isl_local_space *ls;
+ isl_space *space;
+ isl_bool exists;
if (!p || !c)
goto error;
- bmap = isl_basic_map_from_constraint(isl_constraint_copy(c));
- p = isl_printer_print_basic_map(p, bmap);
- isl_basic_map_free(bmap);
+ ls = isl_constraint_get_local_space(c);
+ if (!ls)
+ return isl_printer_free(p);
+ space = isl_local_space_get_space(ls);
+ p = print_param_tuple(p, space, &data);
+ p = isl_printer_print_str(p, "{ ");
+ p = isl_print_space(space, p, 0, &data);
+ p = isl_printer_print_str(p, " : ");
+ exists = need_exists(p, ls->div);
+ if (exists < 0)
+ p = isl_printer_free(p);
+ if (exists >= 0 && exists)
+ p = open_exists(p, space, ls->div, 0);
+ p = print_affine_of_len(space, ls->div, p, c->v->el, c->v->size);
+ if (isl_constraint_is_equality(c))
+ p = isl_printer_print_str(p, " = 0");
+ else
+ p = isl_printer_print_str(p, " >= 0");
+ if (exists >= 0 && exists)
+ p = isl_printer_print_str(p, s_close_exists[0]);
+ p = isl_printer_print_str(p, " }");
+ isl_space_free(space);
+ isl_local_space_free(ls);
+
return p;
error:
isl_printer_free(p);
@@ -2268,10 +2307,7 @@ static __isl_give isl_printer *isl_print
if (!space)
goto error;
- if (isl_space_dim(space, isl_dim_param) > 0) {
- p = print_tuple(space, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, space, &data);
p = isl_printer_print_str(p, "{ ");
if (isl_space_is_params(space))
@@ -2310,10 +2346,7 @@ __isl_give isl_printer *isl_printer_prin
if (!ls)
goto error;
- if (isl_local_space_dim(ls, isl_dim_param) > 0) {
- p = print_tuple(ls->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, ls->dim, &data);
p = isl_printer_print_str(p, "{ ");
p = isl_print_space(ls->dim, p, 0, &data);
n_div = isl_local_space_dim(ls, isl_dim_div);
@@ -2379,10 +2412,7 @@ static __isl_give isl_printer *print_aff
if (!aff)
goto error;
- if (isl_local_space_dim(aff->ls, isl_dim_param) > 0) {
- p = print_tuple(aff->ls->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, aff->ls->dim, &data);
p = isl_printer_print_str(p, "{ ");
p = print_aff(p, aff);
p = isl_printer_print_str(p, " }");
@@ -2425,10 +2455,7 @@ static __isl_give isl_printer *print_pw_
if (!pwaff)
goto error;
- if (isl_space_dim(pwaff->dim, isl_dim_param) > 0) {
- p = print_tuple(pwaff->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, pwaff->dim, &data);
p = isl_printer_print_str(p, "{ ");
p = print_pw_aff_body(p, pwaff);
p = isl_printer_print_str(p, " }");
@@ -2648,10 +2675,7 @@ static __isl_give isl_printer *print_uni
isl_space *space;
space = isl_union_pw_aff_get_space(upa);
- if (isl_space_dim(space, isl_dim_param) > 0) {
- p = print_tuple(space, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, s_to[0]);
- }
+ p = print_param_tuple(p, space, &data);
isl_space_free(space);
p = print_union_pw_aff_body(p, upa);
return p;
@@ -2711,10 +2735,7 @@ static __isl_give isl_printer *print_mul
if (!maff)
goto error;
- if (isl_space_dim(maff->space, isl_dim_param) > 0) {
- p = print_tuple(maff->space, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, maff->space, &data);
p = isl_printer_print_str(p, "{ ");
p = print_multi_aff(p, maff);
p = isl_printer_print_str(p, " }");
@@ -2771,10 +2792,7 @@ static __isl_give isl_printer *print_pw_
if (!pma)
goto error;
- if (isl_space_dim(pma->dim, isl_dim_param) > 0) {
- p = print_tuple(pma->dim, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, pma->dim, &data);
p = isl_printer_print_str(p, "{ ");
p = print_pw_multi_aff_body(p, pma);
p = isl_printer_print_str(p, " }");
@@ -2873,10 +2891,7 @@ static __isl_give isl_printer *print_uni
isl_space *space;
space = isl_union_pw_multi_aff_get_space(upma);
- if (isl_space_dim(space, isl_dim_param) > 0) {
- p = print_tuple(space, p, isl_dim_param, &space_data);
- p = isl_printer_print_str(p, s_to[0]);
- }
+ p = print_param_tuple(p, space, &space_data);
isl_space_free(space);
p = isl_printer_print_str(p, s_open_set[0]);
data.p = p;
@@ -2955,10 +2970,7 @@ static __isl_give isl_printer *print_mul
if (!mpa)
return isl_printer_free(p);
- if (isl_space_dim(mpa->space, isl_dim_param) > 0) {
- p = print_tuple(mpa->space, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, mpa->space, &data);
p = isl_printer_print_str(p, "{ ");
data.print_dim = &print_dim_mpa;
data.user = mpa;
@@ -3007,10 +3019,7 @@ static __isl_give isl_printer *print_mul
if (!mv)
return isl_printer_free(p);
- if (isl_space_dim(mv->space, isl_dim_param) > 0) {
- p = print_tuple(mv->space, p, isl_dim_param, &data);
- p = isl_printer_print_str(p, " -> ");
- }
+ p = print_param_tuple(p, mv->space, &data);
p = isl_printer_print_str(p, "{ ");
data.print_dim = &print_dim_mv;
data.user = mv;
@@ -3065,11 +3074,7 @@ static __isl_give isl_printer *print_mul
isl_space *space;
space = isl_multi_union_pw_aff_get_space(mupa);
- if (isl_space_dim(space, isl_dim_param) > 0) {
- struct isl_print_space_data space_data = { 0 };
- p = print_tuple(space, p, isl_dim_param, &space_data);
- p = isl_printer_print_str(p, s_to[0]);
- }
+ p = print_param_tuple(p, space, &data);
data.print_dim = &print_union_pw_aff_dim;
data.user = mupa;
Modified: polly/trunk/lib/External/isl/isl_schedule_tree.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_schedule_tree.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_schedule_tree.c (original)
+++ polly/trunk/lib/External/isl/isl_schedule_tree.c Thu Dec 22 17:08:57 2016
@@ -1,6 +1,7 @@
/*
* Copyright 2013-2014 Ecole Normale Superieure
* Copyright 2014 INRIA Rocquencourt
+ * Copyright 2016 INRIA Paris
*
* Use of this software is governed by the MIT license
*
@@ -8,6 +9,8 @@
* Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France
* and Inria Paris - Rocquencourt, Domaine de Voluceau - Rocquencourt,
* B.P. 105 - 78153 Le Chesnay, France
+ * and Centre de Recherche Inria de Paris, 2 rue Simone Iff - Voie DQ12,
+ * CS 42112, 75589 Paris Cedex 12, France
*/
#include <isl/map.h>
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=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_scheduler.c (original)
+++ polly/trunk/lib/External/isl/isl_scheduler.c Thu Dec 22 17:08:57 2016
@@ -2,6 +2,7 @@
* Copyright 2011 INRIA Saclay
* Copyright 2012-2014 Ecole Normale Superieure
* Copyright 2015-2016 Sven Verdoolaege
+ * Copyright 2016 INRIA Paris
*
* Use of this software is governed by the MIT license
*
@@ -9,6 +10,8 @@
* Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod,
* 91893 Orsay, France
* and Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France
+ * and Centre de Recherche Inria de Paris, 2 rue Simone Iff - Voie DQ12,
+ * CS 42112, 75589 Paris Cedex 12, France
*/
#include <isl_ctx_private.h>
Modified: polly/trunk/lib/External/isl/isl_tab.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_tab.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_tab.c (original)
+++ polly/trunk/lib/External/isl/isl_tab.c Thu Dec 22 17:08:57 2016
@@ -3378,6 +3378,29 @@ static int ununrestrict(struct isl_tab *
return 0;
}
+/* Unmark the last redundant row in "tab" as being redundant.
+ * This undoes part of the modifications performed by isl_tab_mark_redundant.
+ * In particular, remove the redundant mark and make
+ * sure the sample value respects the constraint again.
+ * A variable that is marked non-negative by isl_tab_mark_redundant
+ * is covered by a separate undo record.
+ */
+static isl_stat restore_last_redundant(struct isl_tab *tab)
+{
+ struct isl_tab_var *var;
+
+ if (tab->n_redundant < 1)
+ isl_die(isl_tab_get_ctx(tab), isl_error_internal,
+ "no redundant rows", return isl_stat_error);
+
+ var = isl_tab_var_from_row(tab, tab->n_redundant - 1);
+ var->is_redundant = 0;
+ tab->n_redundant--;
+ restore_row(tab, var);
+
+ return isl_stat_ok;
+}
+
static int perform_undo_var(struct isl_tab *tab, struct isl_tab_undo *undo) WARN_UNUSED;
static int perform_undo_var(struct isl_tab *tab, struct isl_tab_undo *undo)
{
@@ -3387,10 +3410,10 @@ static int perform_undo_var(struct isl_t
var->is_nonneg = 0;
break;
case isl_tab_undo_redundant:
- var->is_redundant = 0;
- tab->n_redundant--;
- restore_row(tab, isl_tab_var_from_row(tab, tab->n_redundant));
- break;
+ if (!var->is_row || var->index != tab->n_redundant - 1)
+ isl_die(isl_tab_get_ctx(tab), isl_error_internal,
+ "not undoing last redundant row", return -1);
+ return restore_last_redundant(tab);
case isl_tab_undo_freeze:
var->frozen = 0;
break;
@@ -3429,6 +3452,36 @@ static int perform_undo_var(struct isl_t
return 0;
}
+/* Restore all rows that have been marked redundant by isl_tab_mark_redundant
+ * and that have been preserved in the tableau.
+ * Note that isl_tab_mark_redundant may also have marked some variables
+ * as being non-negative before marking them redundant. These need
+ * to be removed as well as otherwise some constraints could end up
+ * getting marked redundant with respect to the variable.
+ */
+isl_stat isl_tab_restore_redundant(struct isl_tab *tab)
+{
+ if (!tab)
+ return isl_stat_error;
+
+ if (tab->need_undo)
+ isl_die(isl_tab_get_ctx(tab), isl_error_invalid,
+ "manually restoring redundant constraints "
+ "interferes with undo history",
+ return isl_stat_error);
+
+ while (tab->n_redundant > 0) {
+ if (tab->row_var[tab->n_redundant - 1] >= 0) {
+ struct isl_tab_var *var;
+
+ var = isl_tab_var_from_row(tab, tab->n_redundant - 1);
+ var->is_nonneg = 0;
+ }
+ restore_last_redundant(tab);
+ }
+ return isl_stat_ok;
+}
+
/* Undo the addition of an integer division to the basic map representation
* of "tab" in position "pos".
*/
Modified: polly/trunk/lib/External/isl/isl_tab.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_tab.h?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_tab.h (original)
+++ polly/trunk/lib/External/isl/isl_tab.h Thu Dec 22 17:08:57 2016
@@ -201,6 +201,7 @@ int isl_tab_detect_implicit_equalities(s
__isl_give isl_basic_map *isl_tab_make_equalities_explicit(struct isl_tab *tab,
__isl_take isl_basic_map *bmap);
int isl_tab_detect_redundant(struct isl_tab *tab) WARN_UNUSED;
+isl_stat isl_tab_restore_redundant(struct isl_tab *tab);
#define ISL_TAB_SAVE_DUAL (1 << 0)
enum isl_lp_result isl_tab_min(struct isl_tab *tab,
isl_int *f, isl_int denom, isl_int *opt, isl_int *opt_denom,
Modified: polly/trunk/lib/External/isl/isl_test.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/isl_test.c?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/isl_test.c (original)
+++ polly/trunk/lib/External/isl/isl_test.c Thu Dec 22 17:08:57 2016
@@ -2430,6 +2430,33 @@ static int test_min_special(isl_ctx *ctx
return 0;
}
+/* A specialized isl_set_min_val test case that would return an error
+ * in earlier versions of isl.
+ */
+static int test_min_special2(isl_ctx *ctx)
+{
+ const char *str;
+ isl_basic_set *bset;
+ isl_aff *obj;
+ isl_val *res;
+
+ str = "{ [i, j, k] : 2j = i and 2k = i + 1 and i >= 2 }";
+ bset = isl_basic_set_read_from_str(ctx, str);
+
+ obj = isl_aff_read_from_str(ctx, "{ [i, j, k] -> [i] }");
+
+ res = isl_basic_set_max_val(bset, obj);
+
+ isl_basic_set_free(bset);
+ isl_aff_free(obj);
+ isl_val_free(res);
+
+ if (!res)
+ return -1;
+
+ return 0;
+}
+
struct {
const char *set;
const char *obj;
@@ -2476,6 +2503,8 @@ static int test_min(struct isl_ctx *ctx)
if (test_min_special(ctx) < 0)
return -1;
+ if (test_min_special2(ctx) < 0)
+ return -1;
return 0;
}
@@ -4550,6 +4579,35 @@ int test_aff(isl_ctx *ctx)
return 0;
}
+/* Check that the computation below results in a single expression.
+ * One or two expressions may result depending on which constraint
+ * ends up being considered as redundant with respect to the other
+ * constraints after the projection that is performed internally
+ * by isl_set_dim_min.
+ */
+static int test_dim_max_1(isl_ctx *ctx)
+{
+ const char *str;
+ isl_set *set;
+ isl_pw_aff *pa;
+ int n;
+
+ str = "[n] -> { [a, b] : n >= 0 and 4a >= -4 + n and b >= 0 and "
+ "-4a <= b <= 3 and b < n - 4a }";
+ set = isl_set_read_from_str(ctx, str);
+ pa = isl_set_dim_min(set, 0);
+ n = isl_pw_aff_n_piece(pa);
+ isl_pw_aff_free(pa);
+
+ if (!pa)
+ return -1;
+ if (n != 1)
+ isl_die(ctx, isl_error_unknown, "expecting single expression",
+ return -1);
+
+ return 0;
+}
+
int test_dim_max(isl_ctx *ctx)
{
int equal;
@@ -4559,6 +4617,9 @@ int test_dim_max(isl_ctx *ctx)
isl_map *map;
isl_pw_aff *pwaff;
+ if (test_dim_max_1(ctx) < 0)
+ return -1;
+
str = "[N] -> { [i] : 0 <= i <= min(N,10) }";
set = isl_set_read_from_str(ctx, str);
pwaff = isl_set_dim_max(set, 0);
Modified: polly/trunk/lib/External/isl/ltmain.sh
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/ltmain.sh?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/ltmain.sh (original)
+++ polly/trunk/lib/External/isl/ltmain.sh Thu Dec 22 17:08:57 2016
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION="2.4.6 Debian-2.4.6-1"
package_revision=2.4.6
@@ -1977,7 +1977,7 @@ func_version ()
# End:
# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
+scriptversion='(GNU libtool) 2.4.6 Debian-2.4.6-1'
# func_echo ARG...
@@ -2068,7 +2068,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname (GNU libtool) 2.4.6
+ version: $progname $scriptversion
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Modified: polly/trunk/lib/External/isl/m4/libtool.m4
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/m4/libtool.m4?rev=290389&r1=290388&r2=290389&view=diff
==============================================================================
--- polly/trunk/lib/External/isl/m4/libtool.m4 (original)
+++ polly/trunk/lib/External/isl/m4/libtool.m4 Thu Dec 22 17:08:57 2016
@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
More information about the llvm-commits
mailing list