5.0.0-0.5
This commit is contained in:
parent
06398e8981
commit
7f99993652
33
.gitignore
vendored
33
.gitignore
vendored
@ -1,32 +1 @@
|
||||
/fastjar-0.97.tar.gz
|
||||
/cloog-0.18.1.tar.gz
|
||||
/gcc-4.9.0-20140409.tar.bz2
|
||||
/isl-0.12.2.tar.bz2
|
||||
/gcc-4.9.0-20140411.tar.bz2
|
||||
/gcc-4.9.0-20140422.tar.bz2
|
||||
/gcc-4.9.0-20140505.tar.bz2
|
||||
/gcc-4.9.0-20140506.tar.bz2
|
||||
/gcc-4.9.0-20140514.tar.bz2
|
||||
/gcc-4.9.0-20140518.tar.bz2
|
||||
/gcc-4.9.0-20140529.tar.bz2
|
||||
/gcc-4.9.0-20140604.tar.bz2
|
||||
/gcc-4.9.0-20140612.tar.bz2
|
||||
/gcc-4.9.0-20140617.tar.bz2
|
||||
/gcc-4.9.0-20140619.tar.bz2
|
||||
/gcc-4.9.0-20140625.tar.bz2
|
||||
/gcc-4.9.0-20140702.tar.bz2
|
||||
/gcc-4.9.1-20140716.tar.bz2
|
||||
/gcc-4.9.1-20140717.tar.bz2
|
||||
/gcc-4.9.1-20140801.tar.bz2
|
||||
/gcc-4.9.1-20140807.tar.bz2
|
||||
/gcc-4.9.1-20140813.tar.bz2
|
||||
/gcc-4.9.1-20140815.tar.bz2
|
||||
/gcc-4.9.1-20140912.tar.bz2
|
||||
/gcc-4.9.1-20140922.tar.bz2
|
||||
/gcc-4.9.1-20140930.tar.bz2
|
||||
/gcc-4.9.1-20141017.tar.bz2
|
||||
/gcc-4.9.1-20141024.tar.bz2
|
||||
/gcc-4.9.2-20141101.tar.bz2
|
||||
/gcc-4.9.2-20141212.tar.bz2
|
||||
/gcc-4.9.2-20141217.tar.bz2
|
||||
/gcc-4.9.2-20150107.tar.bz2
|
||||
/gcc-5.0.0-20150123.tar.bz2
|
||||
|
@ -1,717 +0,0 @@
|
||||
--- cloog-0.18.1/m4/libtool.m4.jj 2013-10-11 09:27:45.000000000 +0200
|
||||
+++ cloog-0.18.1/m4/libtool.m4 2014-04-11 18:24:56.607493726 +0200
|
||||
@@ -1312,7 +1312,7 @@ ia64-*-hpux*)
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
|
||||
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
||||
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
||||
# Find out which ABI we are using.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
@@ -1333,7 +1333,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
- ppc64-*linux*|powerpc64-*linux*)
|
||||
+ powerpc64le-*linux*)
|
||||
+ LD="${LD-ld} -m elf32lppclinux"
|
||||
+ ;;
|
||||
+ powerpc64-*linux*)
|
||||
LD="${LD-ld} -m elf32ppclinux"
|
||||
;;
|
||||
s390x-*linux*)
|
||||
@@ -1352,7 +1355,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
|
||||
x86_64-*linux*)
|
||||
LD="${LD-ld} -m elf_x86_64"
|
||||
;;
|
||||
- ppc*-*linux*|powerpc*-*linux*)
|
||||
+ powerpcle-*linux*)
|
||||
+ LD="${LD-ld} -m elf64lppc"
|
||||
+ ;;
|
||||
+ powerpc-*linux*)
|
||||
LD="${LD-ld} -m elf64ppc"
|
||||
;;
|
||||
s390*-*linux*|s390*-*tpf*)
|
||||
--- cloog-0.18.1/autoconf/config.sub.jj 2013-10-11 09:27:45.000000000 +0200
|
||||
+++ cloog-0.18.1/autoconf/config.sub 2014-04-11 18:24:56.608493721 +0200
|
||||
@@ -1,24 +1,18 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
-# 2011, 2012 Free Software Foundation, Inc.
|
||||
-
|
||||
-timestamp='2012-04-18'
|
||||
-
|
||||
-# This file is (in principle) common to ALL GNU software.
|
||||
-# The presence of a machine in this file suggests that SOME GNU software
|
||||
-# can handle that machine. It does not imply ALL GNU software can.
|
||||
-#
|
||||
-# 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
|
||||
-# the Free Software Foundation; either version 2 of the License, or
|
||||
+# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
+
|
||||
+timestamp='2013-10-01'
|
||||
+
|
||||
+# 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
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
-# This program is distributed in the hope that it will be useful,
|
||||
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-# GNU General Public License for more details.
|
||||
+# This program is distributed in the hope that it will be useful, but
|
||||
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
-# the same distribution terms that you use for the rest of that program.
|
||||
+# the same distribution terms that you use for the rest of that
|
||||
+# program. This Exception is an additional permission under section 7
|
||||
+# of the GNU General Public License, version 3 ("GPLv3").
|
||||
|
||||
|
||||
-# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||
-# diff and a properly formatted GNU ChangeLog entry.
|
||||
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
|
||||
#
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patch
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||
-Free Software Foundation, Inc.
|
||||
+Copyright 1992-2013 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."
|
||||
@@ -123,7 +116,7 @@ esac
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
kopensolaris*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
@@ -156,7 +149,7 @@ case $os in
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
- -apple | -axis | -knuth | -cray | -microblaze)
|
||||
+ -apple | -axis | -knuth | -cray | -microblaze*)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
@@ -259,10 +252,12 @@ case $basic_machine in
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
- | be32 | be64 \
|
||||
+ | arc | arceb \
|
||||
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
||||
+ | avr | avr32 \
|
||||
+ | be32 | be64 \
|
||||
| bfin \
|
||||
- | c4x | clipper \
|
||||
+ | c4x | c8051 | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| epiphany \
|
||||
| fido | fr30 | frv \
|
||||
@@ -270,10 +265,11 @@ case $basic_machine in
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
+ | k1om \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
- | maxq | mb | microblaze | mcore | mep | metag \
|
||||
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
@@ -291,16 +287,17 @@ case $basic_machine in
|
||||
| mipsisa64r2 | mipsisa64r2el \
|
||||
| mipsisa64sb1 | mipsisa64sb1el \
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
+ | mipsr5900 | mipsr5900el \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be \
|
||||
- | nios | nios2 \
|
||||
+ | nios | nios2 | nios2eb | nios2el \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
- | or32 \
|
||||
+ | or1k | or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pyramid \
|
||||
@@ -328,7 +325,7 @@ case $basic_machine in
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
|
||||
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
@@ -370,13 +367,13 @@ case $basic_machine in
|
||||
| aarch64-* | aarch64_be-* \
|
||||
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
|
||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| be32-* | be64-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
- | clipper-* | craynv-* | cydra-* \
|
||||
+ | c8051-* | clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
@@ -385,11 +382,13 @@ case $basic_machine in
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
+ | k1om-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
||||
+ | microblaze-* | microblazeel-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
| mips16-* \
|
||||
| mips64-* | mips64el-* \
|
||||
@@ -407,12 +406,13 @@ case $basic_machine in
|
||||
| mipsisa64r2-* | mipsisa64r2el-* \
|
||||
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
||||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||
+ | mipsr5900-* | mipsr5900el-* \
|
||||
| mipstx39-* | mipstx39el-* \
|
||||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
- | nios-* | nios2-* \
|
||||
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| orion-* \
|
||||
@@ -788,11 +788,15 @@ case $basic_machine in
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
- microblaze)
|
||||
+ microblaze*)
|
||||
basic_machine=microblaze-xilinx
|
||||
;;
|
||||
+ mingw64)
|
||||
+ basic_machine=x86_64-pc
|
||||
+ os=-mingw64
|
||||
+ ;;
|
||||
mingw32)
|
||||
- basic_machine=i386-pc
|
||||
+ basic_machine=i686-pc
|
||||
os=-mingw32
|
||||
;;
|
||||
mingw32ce)
|
||||
@@ -828,7 +832,7 @@ case $basic_machine in
|
||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||
;;
|
||||
msys)
|
||||
- basic_machine=i386-pc
|
||||
+ basic_machine=i686-pc
|
||||
os=-msys
|
||||
;;
|
||||
mvs)
|
||||
@@ -1019,7 +1023,11 @@ case $basic_machine in
|
||||
basic_machine=i586-unknown
|
||||
os=-pw32
|
||||
;;
|
||||
- rdos)
|
||||
+ rdos | rdos64)
|
||||
+ basic_machine=x86_64-pc
|
||||
+ os=-rdos
|
||||
+ ;;
|
||||
+ rdos32)
|
||||
basic_machine=i386-pc
|
||||
os=-rdos
|
||||
;;
|
||||
@@ -1346,21 +1354,21 @@ case $os in
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
- | -sym* | -kopensolaris* \
|
||||
+ | -sym* | -kopensolaris* | -plan9* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
- | -openbsd* | -solidbsd* \
|
||||
+ | -bitrig* | -openbsd* | -solidbsd* \
|
||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
- | -mingw32* | -linux-gnu* | -linux-android* \
|
||||
- | -linux-newlib* | -linux-uclibc* \
|
||||
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
@@ -1492,9 +1500,6 @@ case $os in
|
||||
-aros*)
|
||||
os=-aros
|
||||
;;
|
||||
- -kaos*)
|
||||
- os=-kaos
|
||||
- ;;
|
||||
-zvmoe)
|
||||
os=-zvmoe
|
||||
;;
|
||||
@@ -1543,6 +1548,9 @@ case $basic_machine in
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
+ c8051-*)
|
||||
+ os=-elf
|
||||
+ ;;
|
||||
hexagon-*)
|
||||
os=-elf
|
||||
;;
|
||||
@@ -1586,6 +1594,9 @@ case $basic_machine in
|
||||
mips*-*)
|
||||
os=-elf
|
||||
;;
|
||||
+ or1k-*)
|
||||
+ os=-elf
|
||||
+ ;;
|
||||
or32-*)
|
||||
os=-coff
|
||||
;;
|
||||
--- cloog-0.18.1/autoconf/config.guess.jj 2013-10-11 09:27:45.000000000 +0200
|
||||
+++ cloog-0.18.1/autoconf/config.guess 2014-04-11 18:24:56.608493721 +0200
|
||||
@@ -1,14 +1,12 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
-# 2011, 2012 Free Software Foundation, Inc.
|
||||
+# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
|
||||
-timestamp='2012-02-10'
|
||||
+timestamp='2013-06-10'
|
||||
|
||||
# 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
|
||||
-# the Free Software Foundation; either version 2 of the License, or
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
-# the same distribution terms that you use for the rest of that program.
|
||||
-
|
||||
-
|
||||
-# Originally written by Per Bothner. Please send patches (context
|
||||
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
|
||||
-# entry.
|
||||
+# the same distribution terms that you use for the rest of that
|
||||
+# program. This Exception is an additional permission under section 7
|
||||
+# of the GNU General Public License, version 3 ("GPLv3").
|
||||
#
|
||||
-# This script attempts to guess a canonical system name similar to
|
||||
-# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
-# exits with 0. Otherwise, it exits with 1.
|
||||
+# Originally written by Per Bothner.
|
||||
#
|
||||
# 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
|
||||
+#
|
||||
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
|
||||
+
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
@@ -54,9 +50,7 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
||||
-Free Software Foundation, Inc.
|
||||
+Copyright 1992-2013 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."
|
||||
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
+case "${UNAME_SYSTEM}" in
|
||||
+Linux|GNU|GNU/*)
|
||||
+ # If the system lacks a compiler, then just pick glibc.
|
||||
+ # We could probably try harder.
|
||||
+ LIBC=gnu
|
||||
+
|
||||
+ eval $set_cc_for_build
|
||||
+ cat <<-EOF > $dummy.c
|
||||
+ #include <features.h>
|
||||
+ #if defined(__UCLIBC__)
|
||||
+ LIBC=uclibc
|
||||
+ #elif defined(__dietlibc__)
|
||||
+ LIBC=dietlibc
|
||||
+ #else
|
||||
+ LIBC=gnu
|
||||
+ #endif
|
||||
+ EOF
|
||||
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
@@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
||||
echo "${machine}-${os}${release}"
|
||||
exit ;;
|
||||
+ *:Bitrig:*:*)
|
||||
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
||||
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
|
||||
+ exit ;;
|
||||
*:OpenBSD:*:*)
|
||||
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
||||
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
||||
@@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
- arm:riscos:*:*|arm:RISCOS:*:*)
|
||||
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
|
||||
echo arm-unknown-riscos
|
||||
exit ;;
|
||||
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
|
||||
@@ -801,6 +820,9 @@ EOF
|
||||
i*:CYGWIN*:*)
|
||||
echo ${UNAME_MACHINE}-pc-cygwin
|
||||
exit ;;
|
||||
+ *:MINGW64*:*)
|
||||
+ echo ${UNAME_MACHINE}-pc-mingw64
|
||||
+ exit ;;
|
||||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
@@ -852,21 +874,21 @@ EOF
|
||||
exit ;;
|
||||
*:GNU:*:*)
|
||||
# the GNU system
|
||||
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
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/[-(].*//'`-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
|
||||
exit ;;
|
||||
i*86:Minix:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-minix
|
||||
exit ;;
|
||||
aarch64:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
aarch64_be:Linux:*:*)
|
||||
UNAME_MACHINE=aarch64_be
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
@@ -879,59 +901,54 @@ EOF
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
+ exit ;;
|
||||
+ arc:Linux:*:* | arceb:Linux:*:*)
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_EABI__
|
||||
then
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
else
|
||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_PCS_VFP
|
||||
then
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
|
||||
else
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
|
||||
fi
|
||||
fi
|
||||
exit ;;
|
||||
avr32*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
cris:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-axis-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||
exit ;;
|
||||
crisv32:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-axis-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
hexagon:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
- LIBC=gnu
|
||||
- eval $set_cc_for_build
|
||||
- sed 's/^ //' << EOF >$dummy.c
|
||||
- #ifdef __dietlibc__
|
||||
- LIBC=dietlibc
|
||||
- #endif
|
||||
-EOF
|
||||
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
|
||||
exit ;;
|
||||
ia64:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
m32r*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
m68*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
mips:Linux:*:* | mips64:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
@@ -950,54 +967,63 @@ EOF
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||
;;
|
||||
+ or1k:Linux:*:*)
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
+ exit ;;
|
||||
or32:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
padre:Linux:*:*)
|
||||
- echo sparc-unknown-linux-gnu
|
||||
+ echo sparc-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
- echo hppa64-unknown-linux-gnu
|
||||
+ echo hppa64-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||
# Look for CPU level
|
||||
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
|
||||
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
|
||||
- *) echo hppa-unknown-linux-gnu ;;
|
||||
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
|
||||
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
|
||||
+ *) echo hppa-unknown-linux-${LIBC} ;;
|
||||
esac
|
||||
exit ;;
|
||||
ppc64:Linux:*:*)
|
||||
- echo powerpc64-unknown-linux-gnu
|
||||
+ echo powerpc64-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
ppc:Linux:*:*)
|
||||
- echo powerpc-unknown-linux-gnu
|
||||
+ echo powerpc-unknown-linux-${LIBC}
|
||||
+ exit ;;
|
||||
+ ppc64le:Linux:*:*)
|
||||
+ echo powerpc64le-unknown-linux-${LIBC}
|
||||
+ exit ;;
|
||||
+ ppcle:Linux:*:*)
|
||||
+ echo powerpcle-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-ibm-linux
|
||||
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||
exit ;;
|
||||
x86_64:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
- echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
i*86:DYNIX/ptx:4*:*)
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||
@@ -1201,6 +1227,9 @@ EOF
|
||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
||||
echo i586-pc-haiku
|
||||
exit ;;
|
||||
+ x86_64:Haiku:*:*)
|
||||
+ echo x86_64-unknown-haiku
|
||||
+ exit ;;
|
||||
SX-4:SUPER-UX:*:*)
|
||||
echo sx4-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@@ -1227,19 +1256,21 @@ EOF
|
||||
exit ;;
|
||||
*:Darwin:*:*)
|
||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||
- case $UNAME_PROCESSOR in
|
||||
- i386)
|
||||
- eval $set_cc_for_build
|
||||
- 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) | \
|
||||
- grep IS_64BIT_ARCH >/dev/null
|
||||
- then
|
||||
- UNAME_PROCESSOR="x86_64"
|
||||
- fi
|
||||
- fi ;;
|
||||
- unknown) UNAME_PROCESSOR=powerpc ;;
|
||||
- esac
|
||||
+ eval $set_cc_for_build
|
||||
+ if test "$UNAME_PROCESSOR" = unknown ; then
|
||||
+ UNAME_PROCESSOR=powerpc
|
||||
+ fi
|
||||
+ 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) | \
|
||||
+ grep IS_64BIT_ARCH >/dev/null
|
||||
+ then
|
||||
+ case $UNAME_PROCESSOR in
|
||||
+ i386) UNAME_PROCESSOR=x86_64 ;;
|
||||
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||
+ esac
|
||||
+ fi
|
||||
+ fi
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||
@@ -1256,7 +1287,7 @@ EOF
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
- NSE-?:NONSTOP_KERNEL:*:*)
|
||||
+ NSE-*:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSR-?:NONSTOP_KERNEL:*:*)
|
||||
@@ -1330,9 +1361,6 @@ EOF
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
-#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
-
|
||||
eval $set_cc_for_build
|
||||
cat >$dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
--- cloog-0.18.1/configure.jj 2013-10-11 09:27:47.000000000 +0200
|
||||
+++ cloog-0.18.1/configure 2014-04-11 18:24:56.611493706 +0200
|
||||
@@ -6383,7 +6383,7 @@ ia64-*-hpux*)
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
|
||||
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
|
||||
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
||||
# Find out which ABI we are using.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
@@ -6408,7 +6408,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
- ppc64-*linux*|powerpc64-*linux*)
|
||||
+ powerpc64le-*linux*)
|
||||
+ LD="${LD-ld} -m elf32lppclinux"
|
||||
+ ;;
|
||||
+ powerpc64-*linux*)
|
||||
LD="${LD-ld} -m elf32ppclinux"
|
||||
;;
|
||||
s390x-*linux*)
|
||||
@@ -6427,7 +6430,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
|
||||
x86_64-*linux*)
|
||||
LD="${LD-ld} -m elf_x86_64"
|
||||
;;
|
||||
- ppc*-*linux*|powerpc*-*linux*)
|
||||
+ powerpcle-*linux*)
|
||||
+ LD="${LD-ld} -m elf64lppc"
|
||||
+ ;;
|
||||
+ powerpc-*linux*)
|
||||
LD="${LD-ld} -m elf64ppc"
|
||||
;;
|
||||
s390*-*linux*|s390*-*tpf*)
|
@ -1,338 +0,0 @@
|
||||
2014-08-08 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Add
|
||||
cfi_ops argument, for restore put REG_CFA_RESTORE notes into
|
||||
*cfi_ops rather than on individual insns. Cleanup.
|
||||
(aarch64_save_or_restore_callee_save_registers): Likewise.
|
||||
(aarch64_expand_prologue): Adjust caller.
|
||||
(aarch64_expand_epilogue): Likewise. Cleanup. Emit queued cfi_ops
|
||||
on the stack restore insn.
|
||||
|
||||
--- gcc/config/aarch64/aarch64.c.jj 2014-07-08 17:38:17.398231989 +0200
|
||||
+++ gcc/config/aarch64/aarch64.c 2014-08-13 10:02:45.599757706 +0200
|
||||
@@ -1810,8 +1810,7 @@ aarch64_register_saved_on_entry (int reg
|
||||
|
||||
static void
|
||||
aarch64_save_or_restore_fprs (int start_offset, int increment,
|
||||
- bool restore, rtx base_rtx)
|
||||
-
|
||||
+ bool restore, rtx base_rtx, rtx *cfi_ops)
|
||||
{
|
||||
unsigned regno;
|
||||
unsigned regno2;
|
||||
@@ -1819,16 +1818,16 @@ aarch64_save_or_restore_fprs (int start_
|
||||
rtx (*gen_mem_ref)(enum machine_mode, rtx)
|
||||
= (frame_pointer_needed)? gen_frame_mem : gen_rtx_MEM;
|
||||
|
||||
-
|
||||
for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++)
|
||||
{
|
||||
if (aarch64_register_saved_on_entry (regno))
|
||||
{
|
||||
- rtx mem;
|
||||
+ rtx mem, reg1;
|
||||
mem = gen_mem_ref (DFmode,
|
||||
plus_constant (Pmode,
|
||||
base_rtx,
|
||||
start_offset));
|
||||
+ reg1 = gen_rtx_REG (DFmode, regno);
|
||||
|
||||
for (regno2 = regno + 1;
|
||||
regno2 <= V31_REGNUM
|
||||
@@ -1840,56 +1839,51 @@ aarch64_save_or_restore_fprs (int start_
|
||||
if (regno2 <= V31_REGNUM &&
|
||||
aarch64_register_saved_on_entry (regno2))
|
||||
{
|
||||
- rtx mem2;
|
||||
+ rtx mem2, reg2;
|
||||
/* Next highest register to be saved. */
|
||||
mem2 = gen_mem_ref (DFmode,
|
||||
plus_constant
|
||||
(Pmode,
|
||||
base_rtx,
|
||||
start_offset + increment));
|
||||
+ reg2 = gen_rtx_REG (DFmode, regno2);
|
||||
+
|
||||
if (restore == false)
|
||||
{
|
||||
- insn = emit_insn
|
||||
- ( gen_store_pairdf (mem, gen_rtx_REG (DFmode, regno),
|
||||
- mem2, gen_rtx_REG (DFmode, regno2)));
|
||||
-
|
||||
+ insn = emit_insn (gen_store_pairdf (mem, reg1, mem2, reg2));
|
||||
+ /* The first part of a frame-related parallel insn
|
||||
+ is always assumed to be relevant to the frame
|
||||
+ calculations; subsequent parts, are only
|
||||
+ frame-related if explicitly marked. */
|
||||
+ RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
|
||||
+ RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
- insn = emit_insn
|
||||
- ( gen_load_pairdf (gen_rtx_REG (DFmode, regno), mem,
|
||||
- gen_rtx_REG (DFmode, regno2), mem2));
|
||||
-
|
||||
- add_reg_note (insn, REG_CFA_RESTORE,
|
||||
- gen_rtx_REG (DFmode, regno));
|
||||
- add_reg_note (insn, REG_CFA_RESTORE,
|
||||
- gen_rtx_REG (DFmode, regno2));
|
||||
+ emit_insn (gen_load_pairdf (reg1, mem, reg2, mem2));
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg1, *cfi_ops);
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg2, *cfi_ops);
|
||||
}
|
||||
|
||||
- /* The first part of a frame-related parallel insn
|
||||
- is always assumed to be relevant to the frame
|
||||
- calculations; subsequent parts, are only
|
||||
- frame-related if explicitly marked. */
|
||||
- RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
|
||||
regno = regno2;
|
||||
start_offset += increment * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (restore == false)
|
||||
- insn = emit_move_insn (mem, gen_rtx_REG (DFmode, regno));
|
||||
+ {
|
||||
+ insn = emit_move_insn (mem, reg1);
|
||||
+ RTX_FRAME_RELATED_P (insn) = 1;
|
||||
+ }
|
||||
else
|
||||
{
|
||||
- insn = emit_move_insn (gen_rtx_REG (DFmode, regno), mem);
|
||||
- add_reg_note (insn, REG_CFA_RESTORE,
|
||||
- gen_rtx_REG (DImode, regno));
|
||||
+ emit_move_insn (reg1, mem);
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg1, *cfi_ops);
|
||||
}
|
||||
start_offset += increment;
|
||||
}
|
||||
- RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
}
|
||||
-
|
||||
}
|
||||
|
||||
|
||||
@@ -1897,13 +1891,14 @@ aarch64_save_or_restore_fprs (int start_
|
||||
restore's have to happen. */
|
||||
static void
|
||||
aarch64_save_or_restore_callee_save_registers (HOST_WIDE_INT offset,
|
||||
- bool restore)
|
||||
+ bool restore, rtx *cfi_ops)
|
||||
{
|
||||
rtx insn;
|
||||
rtx base_rtx = stack_pointer_rtx;
|
||||
HOST_WIDE_INT start_offset = offset;
|
||||
HOST_WIDE_INT increment = UNITS_PER_WORD;
|
||||
- rtx (*gen_mem_ref)(enum machine_mode, rtx) = (frame_pointer_needed)? gen_frame_mem : gen_rtx_MEM;
|
||||
+ rtx (*gen_mem_ref)(enum machine_mode, rtx)
|
||||
+ = (frame_pointer_needed)? gen_frame_mem : gen_rtx_MEM;
|
||||
unsigned limit = (frame_pointer_needed)? R28_REGNUM: R30_REGNUM;
|
||||
unsigned regno;
|
||||
unsigned regno2;
|
||||
@@ -1912,11 +1907,13 @@ aarch64_save_or_restore_callee_save_regi
|
||||
{
|
||||
if (aarch64_register_saved_on_entry (regno))
|
||||
{
|
||||
- rtx mem;
|
||||
+ rtx mem, reg1;
|
||||
+
|
||||
mem = gen_mem_ref (Pmode,
|
||||
plus_constant (Pmode,
|
||||
base_rtx,
|
||||
start_offset));
|
||||
+ reg1 = gen_rtx_REG (DImode, regno);
|
||||
|
||||
for (regno2 = regno + 1;
|
||||
regno2 <= limit
|
||||
@@ -1928,56 +1925,54 @@ aarch64_save_or_restore_callee_save_regi
|
||||
if (regno2 <= limit &&
|
||||
aarch64_register_saved_on_entry (regno2))
|
||||
{
|
||||
- rtx mem2;
|
||||
+ rtx mem2, reg2;
|
||||
/* Next highest register to be saved. */
|
||||
mem2 = gen_mem_ref (Pmode,
|
||||
plus_constant
|
||||
(Pmode,
|
||||
base_rtx,
|
||||
start_offset + increment));
|
||||
+ reg2 = gen_rtx_REG (DImode, regno2);
|
||||
+
|
||||
if (restore == false)
|
||||
{
|
||||
- insn = emit_insn
|
||||
- ( gen_store_pairdi (mem, gen_rtx_REG (DImode, regno),
|
||||
- mem2, gen_rtx_REG (DImode, regno2)));
|
||||
-
|
||||
+ insn = emit_insn (gen_store_pairdi (mem, reg1, mem2, reg2));
|
||||
+ /* The first part of a frame-related parallel insn
|
||||
+ is always assumed to be relevant to the frame
|
||||
+ calculations; subsequent parts, are only
|
||||
+ frame-related if explicitly marked. */
|
||||
+ RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
|
||||
+ RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
- insn = emit_insn
|
||||
- ( gen_load_pairdi (gen_rtx_REG (DImode, regno), mem,
|
||||
- gen_rtx_REG (DImode, regno2), mem2));
|
||||
-
|
||||
- add_reg_note (insn, REG_CFA_RESTORE, gen_rtx_REG (DImode, regno));
|
||||
- add_reg_note (insn, REG_CFA_RESTORE, gen_rtx_REG (DImode, regno2));
|
||||
+ emit_insn (gen_load_pairdi (reg1, mem, reg2, mem2));
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg1, *cfi_ops);
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg2, *cfi_ops);
|
||||
}
|
||||
|
||||
- /* The first part of a frame-related parallel insn
|
||||
- is always assumed to be relevant to the frame
|
||||
- calculations; subsequent parts, are only
|
||||
- frame-related if explicitly marked. */
|
||||
- RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0,
|
||||
- 1)) = 1;
|
||||
regno = regno2;
|
||||
start_offset += increment * 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (restore == false)
|
||||
- insn = emit_move_insn (mem, gen_rtx_REG (DImode, regno));
|
||||
+ {
|
||||
+ insn = emit_move_insn (mem, reg1);
|
||||
+ RTX_FRAME_RELATED_P (insn) = 1;
|
||||
+ }
|
||||
else
|
||||
{
|
||||
- insn = emit_move_insn (gen_rtx_REG (DImode, regno), mem);
|
||||
- add_reg_note (insn, REG_CFA_RESTORE, gen_rtx_REG (DImode, regno));
|
||||
+ emit_move_insn (reg1, mem);
|
||||
+ *cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg1, *cfi_ops);
|
||||
}
|
||||
start_offset += increment;
|
||||
}
|
||||
- RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
}
|
||||
|
||||
- aarch64_save_or_restore_fprs (start_offset, increment, restore, base_rtx);
|
||||
-
|
||||
+ aarch64_save_or_restore_fprs (start_offset, increment, restore,
|
||||
+ base_rtx, cfi_ops);
|
||||
}
|
||||
|
||||
/* AArch64 stack frames generated by this compiler look like:
|
||||
@@ -2179,7 +2174,7 @@ aarch64_expand_prologue (void)
|
||||
}
|
||||
|
||||
aarch64_save_or_restore_callee_save_registers
|
||||
- (fp_offset + cfun->machine->frame.hardfp_offset, 0);
|
||||
+ (fp_offset + cfun->machine->frame.hardfp_offset, 0, NULL);
|
||||
}
|
||||
|
||||
/* when offset >= 512,
|
||||
@@ -2248,15 +2243,18 @@ aarch64_expand_epilogue (bool for_sibcal
|
||||
insn = emit_insn (gen_add3_insn (stack_pointer_rtx,
|
||||
hard_frame_pointer_rtx,
|
||||
GEN_INT (- fp_offset)));
|
||||
+ /* CFA should be calculated from the value of SP from now on. */
|
||||
+ add_reg_note (insn, REG_CFA_ADJUST_CFA,
|
||||
+ gen_rtx_SET (VOIDmode, stack_pointer_rtx,
|
||||
+ plus_constant (Pmode, hard_frame_pointer_rtx,
|
||||
+ -fp_offset)));
|
||||
RTX_FRAME_RELATED_P (insn) = 1;
|
||||
- /* As SP is set to (FP - fp_offset), according to the rules in
|
||||
- dwarf2cfi.c:dwarf2out_frame_debug_expr, CFA should be calculated
|
||||
- from the value of SP from now on. */
|
||||
cfa_reg = stack_pointer_rtx;
|
||||
}
|
||||
|
||||
+ rtx cfi_ops = NULL;
|
||||
aarch64_save_or_restore_callee_save_registers
|
||||
- (fp_offset + cfun->machine->frame.hardfp_offset, 1);
|
||||
+ (fp_offset + cfun->machine->frame.hardfp_offset, 1, &cfi_ops);
|
||||
|
||||
/* Restore the frame pointer and lr if the frame pointer is needed. */
|
||||
if (offset > 0)
|
||||
@@ -2264,6 +2262,8 @@ aarch64_expand_epilogue (bool for_sibcal
|
||||
if (frame_pointer_needed)
|
||||
{
|
||||
rtx mem_fp, mem_lr;
|
||||
+ rtx reg_fp = hard_frame_pointer_rtx;
|
||||
+ rtx reg_lr = gen_rtx_REG (DImode, LR_REGNUM);
|
||||
|
||||
if (fp_offset)
|
||||
{
|
||||
@@ -2276,52 +2276,36 @@ aarch64_expand_epilogue (bool for_sibcal
|
||||
stack_pointer_rtx,
|
||||
fp_offset
|
||||
+ UNITS_PER_WORD));
|
||||
- insn = emit_insn (gen_load_pairdi (hard_frame_pointer_rtx,
|
||||
- mem_fp,
|
||||
- gen_rtx_REG (DImode,
|
||||
- LR_REGNUM),
|
||||
- mem_lr));
|
||||
+ emit_insn (gen_load_pairdi (reg_fp, mem_fp, reg_lr, mem_lr));
|
||||
+
|
||||
+ insn = emit_insn (gen_add2_insn (stack_pointer_rtx,
|
||||
+ GEN_INT (offset)));
|
||||
}
|
||||
else
|
||||
{
|
||||
insn = emit_insn (gen_loadwb_pairdi_di
|
||||
- (stack_pointer_rtx,
|
||||
- stack_pointer_rtx,
|
||||
- hard_frame_pointer_rtx,
|
||||
- gen_rtx_REG (DImode, LR_REGNUM),
|
||||
- GEN_INT (offset),
|
||||
+ (stack_pointer_rtx, stack_pointer_rtx,
|
||||
+ reg_fp, reg_lr, GEN_INT (offset),
|
||||
GEN_INT (GET_MODE_SIZE (DImode) + offset)));
|
||||
- RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 2)) = 1;
|
||||
- add_reg_note (insn, REG_CFA_ADJUST_CFA,
|
||||
- (gen_rtx_SET (Pmode, stack_pointer_rtx,
|
||||
- plus_constant (Pmode, cfa_reg,
|
||||
- offset))));
|
||||
- }
|
||||
-
|
||||
- /* The first part of a frame-related parallel insn
|
||||
- is always assumed to be relevant to the frame
|
||||
- calculations; subsequent parts, are only
|
||||
- frame-related if explicitly marked. */
|
||||
- RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
|
||||
- RTX_FRAME_RELATED_P (insn) = 1;
|
||||
- add_reg_note (insn, REG_CFA_RESTORE, hard_frame_pointer_rtx);
|
||||
- add_reg_note (insn, REG_CFA_RESTORE,
|
||||
- gen_rtx_REG (DImode, LR_REGNUM));
|
||||
-
|
||||
- if (fp_offset)
|
||||
- {
|
||||
- insn = emit_insn (gen_add2_insn (stack_pointer_rtx,
|
||||
- GEN_INT (offset)));
|
||||
- RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
+ cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg_fp, cfi_ops);
|
||||
+ cfi_ops = alloc_reg_note (REG_CFA_RESTORE, reg_lr, cfi_ops);
|
||||
}
|
||||
else
|
||||
{
|
||||
insn = emit_insn (gen_add2_insn (stack_pointer_rtx,
|
||||
GEN_INT (offset)));
|
||||
- RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
+ cfi_ops = alloc_reg_note (REG_CFA_ADJUST_CFA,
|
||||
+ gen_rtx_SET (VOIDmode, stack_pointer_rtx,
|
||||
+ plus_constant (Pmode, cfa_reg,
|
||||
+ offset)),
|
||||
+ cfi_ops);
|
||||
+ REG_NOTES (insn) = cfi_ops;
|
||||
+ RTX_FRAME_RELATED_P (insn) = 1;
|
||||
}
|
||||
+ else
|
||||
+ gcc_assert (cfi_ops == NULL);
|
||||
|
||||
/* Stack adjustment for exception handler. */
|
||||
if (crtl->calls_eh_return)
|
@ -1,476 +0,0 @@
|
||||
--- gcc/Makefile.in.jj 2012-12-13 17:09:20.000000000 +0100
|
||||
+++ gcc/Makefile.in 2012-12-14 11:45:22.585670055 +0100
|
||||
@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
|
||||
# and the system's installed libraries.
|
||||
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
|
||||
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
|
||||
-BACKENDLIBS = $(CLOOGLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||
+BACKENDLIBS = $(if $(CLOOGLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||
$(ZLIB)
|
||||
# Any system libraries needed just for GNAT.
|
||||
SYSLIBS = @GNAT_LIBEXC@
|
||||
@@ -2011,6 +2011,15 @@ $(out_object_file): $(out_file)
|
||||
$(common_out_object_file): $(common_out_file)
|
||||
$(COMPILE) $<
|
||||
$(POSTCOMPILE)
|
||||
+
|
||||
+graphite%.o : \
|
||||
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
|
||||
+graphite.o : \
|
||||
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
|
||||
+graphite%.o : \
|
||||
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
|
||||
+graphite.o : \
|
||||
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
|
||||
#
|
||||
# Generate header and source files from the machine description,
|
||||
# and compile them.
|
||||
--- gcc/graphite-poly.h.jj 2012-12-13 11:31:27.000000000 +0100
|
||||
+++ gcc/graphite-poly.h 2012-12-14 13:41:41.970800726 +0100
|
||||
@@ -22,6 +22,371 @@ along with GCC; see the file COPYING3.
|
||||
#ifndef GCC_GRAPHITE_POLY_H
|
||||
#define GCC_GRAPHITE_POLY_H
|
||||
|
||||
+#include <isl/aff.h>
|
||||
+#include <isl/schedule.h>
|
||||
+#include <isl/ilp.h>
|
||||
+#include <isl/flow.h>
|
||||
+#include <isl/options.h>
|
||||
+#include <cloog/isl/cloog.h>
|
||||
+#include <dlfcn.h>
|
||||
+#define DYNSYMS \
|
||||
+ DYNSYM (clast_pprint); \
|
||||
+ DYNSYM (cloog_clast_create_from_input); \
|
||||
+ DYNSYM (cloog_clast_free); \
|
||||
+ DYNSYM (cloog_domain_from_isl_set); \
|
||||
+ DYNSYM (cloog_input_alloc); \
|
||||
+ DYNSYM (cloog_isl_state_malloc); \
|
||||
+ DYNSYM (cloog_options_free); \
|
||||
+ DYNSYM (cloog_options_malloc); \
|
||||
+ DYNSYM (cloog_scattering_from_isl_map); \
|
||||
+ DYNSYM (cloog_state_free); \
|
||||
+ DYNSYM (cloog_union_domain_add_domain); \
|
||||
+ DYNSYM (cloog_union_domain_alloc); \
|
||||
+ DYNSYM (cloog_union_domain_set_name); \
|
||||
+ DYNSYM (isl_aff_add_coefficient_si); \
|
||||
+ DYNSYM (isl_aff_add_constant); \
|
||||
+ DYNSYM (isl_aff_free); \
|
||||
+ DYNSYM (isl_aff_get_coefficient); \
|
||||
+ DYNSYM (isl_aff_get_space); \
|
||||
+ DYNSYM (isl_aff_mod); \
|
||||
+ DYNSYM (isl_aff_set_coefficient_si); \
|
||||
+ DYNSYM (isl_aff_set_constant_si); \
|
||||
+ DYNSYM (isl_aff_zero_on_domain); \
|
||||
+ DYNSYM (isl_band_free); \
|
||||
+ DYNSYM (isl_band_get_children); \
|
||||
+ DYNSYM (isl_band_get_partial_schedule); \
|
||||
+ DYNSYM (isl_band_has_children); \
|
||||
+ DYNSYM (isl_band_list_free); \
|
||||
+ DYNSYM (isl_band_list_get_band); \
|
||||
+ DYNSYM (isl_band_list_get_ctx); \
|
||||
+ DYNSYM (isl_band_list_n_band); \
|
||||
+ DYNSYM (isl_band_member_is_zero_distance); \
|
||||
+ DYNSYM (isl_band_n_member); \
|
||||
+ DYNSYM (isl_basic_map_add_constraint); \
|
||||
+ DYNSYM (isl_basic_map_project_out); \
|
||||
+ DYNSYM (isl_basic_map_universe); \
|
||||
+ DYNSYM (isl_constraint_set_coefficient); \
|
||||
+ DYNSYM (isl_constraint_set_coefficient_si); \
|
||||
+ DYNSYM (isl_constraint_set_constant); \
|
||||
+ DYNSYM (isl_constraint_set_constant_si); \
|
||||
+ DYNSYM (isl_ctx_alloc); \
|
||||
+ DYNSYM (isl_ctx_free); \
|
||||
+ DYNSYM (isl_equality_alloc); \
|
||||
+ DYNSYM (isl_id_alloc); \
|
||||
+ DYNSYM (isl_id_copy); \
|
||||
+ DYNSYM (isl_id_free); \
|
||||
+ DYNSYM (isl_inequality_alloc); \
|
||||
+ DYNSYM (isl_local_space_copy); \
|
||||
+ DYNSYM (isl_local_space_free); \
|
||||
+ DYNSYM (isl_local_space_from_space); \
|
||||
+ DYNSYM (isl_local_space_range); \
|
||||
+ DYNSYM (isl_map_add_constraint); \
|
||||
+ DYNSYM (isl_map_add_dims); \
|
||||
+ DYNSYM (isl_map_align_params); \
|
||||
+ DYNSYM (isl_map_apply_range); \
|
||||
+ DYNSYM (isl_map_copy); \
|
||||
+ DYNSYM (isl_map_dim); \
|
||||
+ DYNSYM (isl_map_dump); \
|
||||
+ DYNSYM (isl_map_equate); \
|
||||
+ DYNSYM (isl_map_fix_si); \
|
||||
+ DYNSYM (isl_map_flat_product); \
|
||||
+ DYNSYM (isl_map_flat_range_product); \
|
||||
+ DYNSYM (isl_map_free); \
|
||||
+ DYNSYM (isl_map_from_basic_map); \
|
||||
+ DYNSYM (isl_map_from_pw_aff); \
|
||||
+ DYNSYM (isl_map_from_union_map); \
|
||||
+ DYNSYM (isl_map_get_ctx); \
|
||||
+ DYNSYM (isl_map_get_space); \
|
||||
+ DYNSYM (isl_map_get_tuple_id); \
|
||||
+ DYNSYM (isl_map_insert_dims); \
|
||||
+ DYNSYM (isl_map_intersect); \
|
||||
+ DYNSYM (isl_map_intersect_domain); \
|
||||
+ DYNSYM (isl_map_intersect_range); \
|
||||
+ DYNSYM (isl_map_is_empty); \
|
||||
+ DYNSYM (isl_map_lex_ge); \
|
||||
+ DYNSYM (isl_map_lex_le); \
|
||||
+ DYNSYM (isl_map_n_out); \
|
||||
+ DYNSYM (isl_map_range); \
|
||||
+ DYNSYM (isl_map_set_tuple_id); \
|
||||
+ DYNSYM (isl_map_universe); \
|
||||
+ DYNSYM (isl_options_set_on_error); \
|
||||
+ DYNSYM (isl_options_set_schedule_fuse); \
|
||||
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
|
||||
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
|
||||
+ DYNSYM (isl_printer_free); \
|
||||
+ DYNSYM (isl_printer_print_aff); \
|
||||
+ DYNSYM (isl_printer_print_constraint); \
|
||||
+ DYNSYM (isl_printer_print_map); \
|
||||
+ DYNSYM (isl_printer_print_set); \
|
||||
+ DYNSYM (isl_printer_to_file); \
|
||||
+ DYNSYM (isl_pw_aff_add); \
|
||||
+ DYNSYM (isl_pw_aff_alloc); \
|
||||
+ DYNSYM (isl_pw_aff_copy); \
|
||||
+ DYNSYM (isl_pw_aff_eq_set); \
|
||||
+ DYNSYM (isl_pw_aff_free); \
|
||||
+ DYNSYM (isl_pw_aff_from_aff); \
|
||||
+ DYNSYM (isl_pw_aff_ge_set); \
|
||||
+ DYNSYM (isl_pw_aff_gt_set); \
|
||||
+ DYNSYM (isl_pw_aff_is_cst); \
|
||||
+ DYNSYM (isl_pw_aff_le_set); \
|
||||
+ DYNSYM (isl_pw_aff_lt_set); \
|
||||
+ DYNSYM (isl_pw_aff_mod); \
|
||||
+ DYNSYM (isl_pw_aff_mul); \
|
||||
+ DYNSYM (isl_pw_aff_ne_set); \
|
||||
+ DYNSYM (isl_pw_aff_nonneg_set); \
|
||||
+ DYNSYM (isl_pw_aff_set_tuple_id); \
|
||||
+ DYNSYM (isl_pw_aff_sub); \
|
||||
+ DYNSYM (isl_pw_aff_zero_set); \
|
||||
+ DYNSYM (isl_schedule_free); \
|
||||
+ DYNSYM (isl_schedule_get_band_forest); \
|
||||
+ DYNSYM (isl_set_add_constraint); \
|
||||
+ DYNSYM (isl_set_add_dims); \
|
||||
+ DYNSYM (isl_set_apply); \
|
||||
+ DYNSYM (isl_set_coalesce); \
|
||||
+ DYNSYM (isl_set_copy); \
|
||||
+ DYNSYM (isl_set_dim); \
|
||||
+ DYNSYM (isl_set_fix_si); \
|
||||
+ DYNSYM (isl_set_free); \
|
||||
+ DYNSYM (isl_set_from_cloog_domain); \
|
||||
+ DYNSYM (isl_set_get_space); \
|
||||
+ DYNSYM (isl_set_get_tuple_id); \
|
||||
+ DYNSYM (isl_set_intersect); \
|
||||
+ DYNSYM (isl_set_is_empty); \
|
||||
+ DYNSYM (isl_set_max); \
|
||||
+ DYNSYM (isl_set_min); \
|
||||
+ DYNSYM (isl_set_n_dim); \
|
||||
+ DYNSYM (isl_set_nat_universe); \
|
||||
+ DYNSYM (isl_set_project_out); \
|
||||
+ DYNSYM (isl_set_set_tuple_id); \
|
||||
+ DYNSYM (isl_set_universe); \
|
||||
+ DYNSYM (isl_space_add_dims); \
|
||||
+ DYNSYM (isl_space_alloc); \
|
||||
+ DYNSYM (isl_space_copy); \
|
||||
+ DYNSYM (isl_space_dim); \
|
||||
+ DYNSYM (isl_space_domain); \
|
||||
+ DYNSYM (isl_space_find_dim_by_id); \
|
||||
+ DYNSYM (isl_space_free); \
|
||||
+ DYNSYM (isl_space_from_domain); \
|
||||
+ DYNSYM (isl_space_get_tuple_id); \
|
||||
+ DYNSYM (isl_space_params_alloc); \
|
||||
+ DYNSYM (isl_space_range); \
|
||||
+ DYNSYM (isl_space_set_alloc); \
|
||||
+ DYNSYM (isl_space_set_dim_id); \
|
||||
+ DYNSYM (isl_space_set_tuple_id); \
|
||||
+ DYNSYM (isl_union_map_add_map); \
|
||||
+ DYNSYM (isl_union_map_align_params); \
|
||||
+ DYNSYM (isl_union_map_apply_domain); \
|
||||
+ DYNSYM (isl_union_map_apply_range); \
|
||||
+ DYNSYM (isl_union_map_compute_flow); \
|
||||
+ DYNSYM (isl_union_map_copy); \
|
||||
+ DYNSYM (isl_union_map_empty); \
|
||||
+ DYNSYM (isl_union_map_flat_range_product); \
|
||||
+ DYNSYM (isl_union_map_foreach_map); \
|
||||
+ DYNSYM (isl_union_map_free); \
|
||||
+ DYNSYM (isl_union_map_from_map); \
|
||||
+ DYNSYM (isl_union_map_get_ctx); \
|
||||
+ DYNSYM (isl_union_map_get_space); \
|
||||
+ DYNSYM (isl_union_map_gist_domain); \
|
||||
+ DYNSYM (isl_union_map_gist_range); \
|
||||
+ DYNSYM (isl_union_map_intersect_domain); \
|
||||
+ DYNSYM (isl_union_map_is_empty); \
|
||||
+ DYNSYM (isl_union_map_subtract); \
|
||||
+ DYNSYM (isl_union_map_union); \
|
||||
+ DYNSYM (isl_union_set_add_set); \
|
||||
+ DYNSYM (isl_union_set_compute_schedule); \
|
||||
+ DYNSYM (isl_union_set_copy); \
|
||||
+ DYNSYM (isl_union_set_empty); \
|
||||
+ DYNSYM (isl_union_set_from_set); \
|
||||
+ DYNSYM (stmt_ass); \
|
||||
+ DYNSYM (stmt_block); \
|
||||
+ DYNSYM (stmt_for); \
|
||||
+ DYNSYM (stmt_guard); \
|
||||
+ DYNSYM (stmt_root); \
|
||||
+ DYNSYM (stmt_user);
|
||||
+extern struct cloog_pointers_s__
|
||||
+{
|
||||
+ bool inited;
|
||||
+ void *h;
|
||||
+#define DYNSYM(x) __typeof (x) *p_##x
|
||||
+ DYNSYMS
|
||||
+#undef DYNSYM
|
||||
+} cloog_pointers__;
|
||||
+
|
||||
+#define cloog_block_alloc (*cloog_pointers__.p_cloog_block_alloc)
|
||||
+#define clast_pprint (*cloog_pointers__.p_clast_pprint)
|
||||
+#define cloog_clast_create_from_input (*cloog_pointers__.p_cloog_clast_create_from_input)
|
||||
+#define cloog_clast_free (*cloog_pointers__.p_cloog_clast_free)
|
||||
+#define cloog_domain_from_isl_set (*cloog_pointers__.p_cloog_domain_from_isl_set)
|
||||
+#define cloog_input_alloc (*cloog_pointers__.p_cloog_input_alloc)
|
||||
+#define cloog_isl_state_malloc (*cloog_pointers__.p_cloog_isl_state_malloc)
|
||||
+#define cloog_options_free (*cloog_pointers__.p_cloog_options_free)
|
||||
+#define cloog_options_malloc (*cloog_pointers__.p_cloog_options_malloc)
|
||||
+#define cloog_scattering_from_isl_map (*cloog_pointers__.p_cloog_scattering_from_isl_map)
|
||||
+#define cloog_state_free (*cloog_pointers__.p_cloog_state_free)
|
||||
+#define cloog_union_domain_add_domain (*cloog_pointers__.p_cloog_union_domain_add_domain)
|
||||
+#define cloog_union_domain_alloc (*cloog_pointers__.p_cloog_union_domain_alloc)
|
||||
+#define cloog_union_domain_set_name (*cloog_pointers__.p_cloog_union_domain_set_name)
|
||||
+#define isl_aff_add_coefficient_si (*cloog_pointers__.p_isl_aff_add_coefficient_si)
|
||||
+#define isl_aff_add_constant (*cloog_pointers__.p_isl_aff_add_constant)
|
||||
+#define isl_aff_free (*cloog_pointers__.p_isl_aff_free)
|
||||
+#define isl_aff_get_coefficient (*cloog_pointers__.p_isl_aff_get_coefficient)
|
||||
+#define isl_aff_get_space (*cloog_pointers__.p_isl_aff_get_space)
|
||||
+#define isl_aff_mod (*cloog_pointers__.p_isl_aff_mod)
|
||||
+#define isl_aff_set_coefficient_si (*cloog_pointers__.p_isl_aff_set_coefficient_si)
|
||||
+#define isl_aff_set_constant_si (*cloog_pointers__.p_isl_aff_set_constant_si)
|
||||
+#define isl_aff_zero_on_domain (*cloog_pointers__.p_isl_aff_zero_on_domain)
|
||||
+#define isl_band_free (*cloog_pointers__.p_isl_band_free)
|
||||
+#define isl_band_get_children (*cloog_pointers__.p_isl_band_get_children)
|
||||
+#define isl_band_get_partial_schedule (*cloog_pointers__.p_isl_band_get_partial_schedule)
|
||||
+#define isl_band_has_children (*cloog_pointers__.p_isl_band_has_children)
|
||||
+#define isl_band_list_free (*cloog_pointers__.p_isl_band_list_free)
|
||||
+#define isl_band_list_get_band (*cloog_pointers__.p_isl_band_list_get_band)
|
||||
+#define isl_band_list_get_ctx (*cloog_pointers__.p_isl_band_list_get_ctx)
|
||||
+#define isl_band_list_n_band (*cloog_pointers__.p_isl_band_list_n_band)
|
||||
+#define isl_band_member_is_zero_distance (*cloog_pointers__.p_isl_band_member_is_zero_distance)
|
||||
+#define isl_band_n_member (*cloog_pointers__.p_isl_band_n_member)
|
||||
+#define isl_basic_map_add_constraint (*cloog_pointers__.p_isl_basic_map_add_constraint)
|
||||
+#define isl_basic_map_project_out (*cloog_pointers__.p_isl_basic_map_project_out)
|
||||
+#define isl_basic_map_universe (*cloog_pointers__.p_isl_basic_map_universe)
|
||||
+#define isl_constraint_set_coefficient (*cloog_pointers__.p_isl_constraint_set_coefficient)
|
||||
+#define isl_constraint_set_coefficient_si (*cloog_pointers__.p_isl_constraint_set_coefficient_si)
|
||||
+#define isl_constraint_set_constant (*cloog_pointers__.p_isl_constraint_set_constant)
|
||||
+#define isl_constraint_set_constant_si (*cloog_pointers__.p_isl_constraint_set_constant_si)
|
||||
+#define isl_ctx_alloc (*cloog_pointers__.p_isl_ctx_alloc)
|
||||
+#define isl_ctx_free (*cloog_pointers__.p_isl_ctx_free)
|
||||
+#define isl_equality_alloc (*cloog_pointers__.p_isl_equality_alloc)
|
||||
+#define isl_id_alloc (*cloog_pointers__.p_isl_id_alloc)
|
||||
+#define isl_id_copy (*cloog_pointers__.p_isl_id_copy)
|
||||
+#define isl_id_free (*cloog_pointers__.p_isl_id_free)
|
||||
+#define isl_inequality_alloc (*cloog_pointers__.p_isl_inequality_alloc)
|
||||
+#define isl_local_space_copy (*cloog_pointers__.p_isl_local_space_copy)
|
||||
+#define isl_local_space_free (*cloog_pointers__.p_isl_local_space_free)
|
||||
+#define isl_local_space_from_space (*cloog_pointers__.p_isl_local_space_from_space)
|
||||
+#define isl_local_space_range (*cloog_pointers__.p_isl_local_space_range)
|
||||
+#define isl_map_add_constraint (*cloog_pointers__.p_isl_map_add_constraint)
|
||||
+#define isl_map_add_dims (*cloog_pointers__.p_isl_map_add_dims)
|
||||
+#define isl_map_align_params (*cloog_pointers__.p_isl_map_align_params)
|
||||
+#define isl_map_apply_range (*cloog_pointers__.p_isl_map_apply_range)
|
||||
+#define isl_map_copy (*cloog_pointers__.p_isl_map_copy)
|
||||
+#define isl_map_dim (*cloog_pointers__.p_isl_map_dim)
|
||||
+#define isl_map_dump (*cloog_pointers__.p_isl_map_dump)
|
||||
+#define isl_map_equate (*cloog_pointers__.p_isl_map_equate)
|
||||
+#define isl_map_fix_si (*cloog_pointers__.p_isl_map_fix_si)
|
||||
+#define isl_map_flat_product (*cloog_pointers__.p_isl_map_flat_product)
|
||||
+#define isl_map_flat_range_product (*cloog_pointers__.p_isl_map_flat_range_product)
|
||||
+#define isl_map_free (*cloog_pointers__.p_isl_map_free)
|
||||
+#define isl_map_from_basic_map (*cloog_pointers__.p_isl_map_from_basic_map)
|
||||
+#define isl_map_from_pw_aff (*cloog_pointers__.p_isl_map_from_pw_aff)
|
||||
+#define isl_map_from_union_map (*cloog_pointers__.p_isl_map_from_union_map)
|
||||
+#define isl_map_get_ctx (*cloog_pointers__.p_isl_map_get_ctx)
|
||||
+#define isl_map_get_space (*cloog_pointers__.p_isl_map_get_space)
|
||||
+#define isl_map_get_tuple_id (*cloog_pointers__.p_isl_map_get_tuple_id)
|
||||
+#define isl_map_insert_dims (*cloog_pointers__.p_isl_map_insert_dims)
|
||||
+#define isl_map_intersect (*cloog_pointers__.p_isl_map_intersect)
|
||||
+#define isl_map_intersect_domain (*cloog_pointers__.p_isl_map_intersect_domain)
|
||||
+#define isl_map_intersect_range (*cloog_pointers__.p_isl_map_intersect_range)
|
||||
+#define isl_map_is_empty (*cloog_pointers__.p_isl_map_is_empty)
|
||||
+#define isl_map_lex_ge (*cloog_pointers__.p_isl_map_lex_ge)
|
||||
+#define isl_map_lex_le (*cloog_pointers__.p_isl_map_lex_le)
|
||||
+#define isl_map_n_out (*cloog_pointers__.p_isl_map_n_out)
|
||||
+#define isl_map_range (*cloog_pointers__.p_isl_map_range)
|
||||
+#define isl_map_set_tuple_id (*cloog_pointers__.p_isl_map_set_tuple_id)
|
||||
+#define isl_map_universe (*cloog_pointers__.p_isl_map_universe)
|
||||
+#define isl_options_set_on_error (*cloog_pointers__.p_isl_options_set_on_error)
|
||||
+#define isl_options_set_schedule_fuse (*cloog_pointers__.p_isl_options_set_schedule_fuse)
|
||||
+#define isl_options_set_schedule_max_constant_term (*cloog_pointers__.p_isl_options_set_schedule_max_constant_term)
|
||||
+#define isl_options_set_schedule_maximize_band_depth (*cloog_pointers__.p_isl_options_set_schedule_maximize_band_depth)
|
||||
+#define isl_printer_free (*cloog_pointers__.p_isl_printer_free)
|
||||
+#define isl_printer_print_aff (*cloog_pointers__.p_isl_printer_print_aff)
|
||||
+#define isl_printer_print_constraint (*cloog_pointers__.p_isl_printer_print_constraint)
|
||||
+#define isl_printer_print_map (*cloog_pointers__.p_isl_printer_print_map)
|
||||
+#define isl_printer_print_set (*cloog_pointers__.p_isl_printer_print_set)
|
||||
+#define isl_printer_to_file (*cloog_pointers__.p_isl_printer_to_file)
|
||||
+#define isl_pw_aff_add (*cloog_pointers__.p_isl_pw_aff_add)
|
||||
+#define isl_pw_aff_alloc (*cloog_pointers__.p_isl_pw_aff_alloc)
|
||||
+#define isl_pw_aff_copy (*cloog_pointers__.p_isl_pw_aff_copy)
|
||||
+#define isl_pw_aff_eq_set (*cloog_pointers__.p_isl_pw_aff_eq_set)
|
||||
+#define isl_pw_aff_free (*cloog_pointers__.p_isl_pw_aff_free)
|
||||
+#define isl_pw_aff_from_aff (*cloog_pointers__.p_isl_pw_aff_from_aff)
|
||||
+#define isl_pw_aff_ge_set (*cloog_pointers__.p_isl_pw_aff_ge_set)
|
||||
+#define isl_pw_aff_gt_set (*cloog_pointers__.p_isl_pw_aff_gt_set)
|
||||
+#define isl_pw_aff_is_cst (*cloog_pointers__.p_isl_pw_aff_is_cst)
|
||||
+#define isl_pw_aff_le_set (*cloog_pointers__.p_isl_pw_aff_le_set)
|
||||
+#define isl_pw_aff_lt_set (*cloog_pointers__.p_isl_pw_aff_lt_set)
|
||||
+#define isl_pw_aff_mod (*cloog_pointers__.p_isl_pw_aff_mod)
|
||||
+#define isl_pw_aff_mul (*cloog_pointers__.p_isl_pw_aff_mul)
|
||||
+#define isl_pw_aff_ne_set (*cloog_pointers__.p_isl_pw_aff_ne_set)
|
||||
+#define isl_pw_aff_nonneg_set (*cloog_pointers__.p_isl_pw_aff_nonneg_set)
|
||||
+#define isl_pw_aff_set_tuple_id (*cloog_pointers__.p_isl_pw_aff_set_tuple_id)
|
||||
+#define isl_pw_aff_sub (*cloog_pointers__.p_isl_pw_aff_sub)
|
||||
+#define isl_pw_aff_zero_set (*cloog_pointers__.p_isl_pw_aff_zero_set)
|
||||
+#define isl_schedule_free (*cloog_pointers__.p_isl_schedule_free)
|
||||
+#define isl_schedule_get_band_forest (*cloog_pointers__.p_isl_schedule_get_band_forest)
|
||||
+#define isl_set_add_constraint (*cloog_pointers__.p_isl_set_add_constraint)
|
||||
+#define isl_set_add_dims (*cloog_pointers__.p_isl_set_add_dims)
|
||||
+#define isl_set_apply (*cloog_pointers__.p_isl_set_apply)
|
||||
+#define isl_set_coalesce (*cloog_pointers__.p_isl_set_coalesce)
|
||||
+#define isl_set_copy (*cloog_pointers__.p_isl_set_copy)
|
||||
+#define isl_set_dim (*cloog_pointers__.p_isl_set_dim)
|
||||
+#define isl_set_fix_si (*cloog_pointers__.p_isl_set_fix_si)
|
||||
+#define isl_set_free (*cloog_pointers__.p_isl_set_free)
|
||||
+#define isl_set_from_cloog_domain (*cloog_pointers__.p_isl_set_from_cloog_domain)
|
||||
+#define isl_set_get_space (*cloog_pointers__.p_isl_set_get_space)
|
||||
+#define isl_set_get_tuple_id (*cloog_pointers__.p_isl_set_get_tuple_id)
|
||||
+#define isl_set_intersect (*cloog_pointers__.p_isl_set_intersect)
|
||||
+#define isl_set_is_empty (*cloog_pointers__.p_isl_set_is_empty)
|
||||
+#define isl_set_max (*cloog_pointers__.p_isl_set_max)
|
||||
+#define isl_set_min (*cloog_pointers__.p_isl_set_min)
|
||||
+#define isl_set_n_dim (*cloog_pointers__.p_isl_set_n_dim)
|
||||
+#define isl_set_nat_universe (*cloog_pointers__.p_isl_set_nat_universe)
|
||||
+#define isl_set_project_out (*cloog_pointers__.p_isl_set_project_out)
|
||||
+#define isl_set_set_tuple_id (*cloog_pointers__.p_isl_set_set_tuple_id)
|
||||
+#define isl_set_universe (*cloog_pointers__.p_isl_set_universe)
|
||||
+#define isl_space_add_dims (*cloog_pointers__.p_isl_space_add_dims)
|
||||
+#define isl_space_alloc (*cloog_pointers__.p_isl_space_alloc)
|
||||
+#define isl_space_copy (*cloog_pointers__.p_isl_space_copy)
|
||||
+#define isl_space_dim (*cloog_pointers__.p_isl_space_dim)
|
||||
+#define isl_space_domain (*cloog_pointers__.p_isl_space_domain)
|
||||
+#define isl_space_find_dim_by_id (*cloog_pointers__.p_isl_space_find_dim_by_id)
|
||||
+#define isl_space_free (*cloog_pointers__.p_isl_space_free)
|
||||
+#define isl_space_from_domain (*cloog_pointers__.p_isl_space_from_domain)
|
||||
+#define isl_space_get_tuple_id (*cloog_pointers__.p_isl_space_get_tuple_id)
|
||||
+#define isl_space_params_alloc (*cloog_pointers__.p_isl_space_params_alloc)
|
||||
+#define isl_space_range (*cloog_pointers__.p_isl_space_range)
|
||||
+#define isl_space_set_alloc (*cloog_pointers__.p_isl_space_set_alloc)
|
||||
+#define isl_space_set_dim_id (*cloog_pointers__.p_isl_space_set_dim_id)
|
||||
+#define isl_space_set_tuple_id (*cloog_pointers__.p_isl_space_set_tuple_id)
|
||||
+#define isl_union_map_add_map (*cloog_pointers__.p_isl_union_map_add_map)
|
||||
+#define isl_union_map_align_params (*cloog_pointers__.p_isl_union_map_align_params)
|
||||
+#define isl_union_map_apply_domain (*cloog_pointers__.p_isl_union_map_apply_domain)
|
||||
+#define isl_union_map_apply_range (*cloog_pointers__.p_isl_union_map_apply_range)
|
||||
+#define isl_union_map_compute_flow (*cloog_pointers__.p_isl_union_map_compute_flow)
|
||||
+#define isl_union_map_copy (*cloog_pointers__.p_isl_union_map_copy)
|
||||
+#define isl_union_map_empty (*cloog_pointers__.p_isl_union_map_empty)
|
||||
+#define isl_union_map_flat_range_product (*cloog_pointers__.p_isl_union_map_flat_range_product)
|
||||
+#define isl_union_map_foreach_map (*cloog_pointers__.p_isl_union_map_foreach_map)
|
||||
+#define isl_union_map_free (*cloog_pointers__.p_isl_union_map_free)
|
||||
+#define isl_union_map_from_map (*cloog_pointers__.p_isl_union_map_from_map)
|
||||
+#define isl_union_map_get_ctx (*cloog_pointers__.p_isl_union_map_get_ctx)
|
||||
+#define isl_union_map_get_space (*cloog_pointers__.p_isl_union_map_get_space)
|
||||
+#define isl_union_map_gist_domain (*cloog_pointers__.p_isl_union_map_gist_domain)
|
||||
+#define isl_union_map_gist_range (*cloog_pointers__.p_isl_union_map_gist_range)
|
||||
+#define isl_union_map_intersect_domain (*cloog_pointers__.p_isl_union_map_intersect_domain)
|
||||
+#define isl_union_map_is_empty (*cloog_pointers__.p_isl_union_map_is_empty)
|
||||
+#define isl_union_map_subtract (*cloog_pointers__.p_isl_union_map_subtract)
|
||||
+#define isl_union_map_union (*cloog_pointers__.p_isl_union_map_union)
|
||||
+#define isl_union_set_add_set (*cloog_pointers__.p_isl_union_set_add_set)
|
||||
+#define isl_union_set_compute_schedule (*cloog_pointers__.p_isl_union_set_compute_schedule)
|
||||
+#define isl_union_set_copy (*cloog_pointers__.p_isl_union_set_copy)
|
||||
+#define isl_union_set_empty (*cloog_pointers__.p_isl_union_set_empty)
|
||||
+#define isl_union_set_from_set (*cloog_pointers__.p_isl_union_set_from_set)
|
||||
+#define stmt_ass (*cloog_pointers__.p_stmt_ass)
|
||||
+#define stmt_block (*cloog_pointers__.p_stmt_block)
|
||||
+#define stmt_for (*cloog_pointers__.p_stmt_for)
|
||||
+#define stmt_guard (*cloog_pointers__.p_stmt_guard)
|
||||
+#define stmt_root (*cloog_pointers__.p_stmt_root)
|
||||
+#define stmt_user (*cloog_pointers__.p_stmt_user)
|
||||
+
|
||||
typedef struct poly_dr *poly_dr_p;
|
||||
|
||||
typedef struct poly_bb *poly_bb_p;
|
||||
--- gcc/graphite.c.jj 2012-12-13 11:31:00.000000000 +0100
|
||||
+++ gcc/graphite.c 2012-12-14 13:40:44.155136961 +0100
|
||||
@@ -78,6 +78,34 @@ along with GCC; see the file COPYING3.
|
||||
|
||||
CloogState *cloog_state;
|
||||
|
||||
+__typeof (cloog_pointers__) cloog_pointers__;
|
||||
+
|
||||
+static bool
|
||||
+init_cloog_pointers (void)
|
||||
+{
|
||||
+ void *h;
|
||||
+
|
||||
+ if (cloog_pointers__.inited)
|
||||
+ return cloog_pointers__.h != NULL;
|
||||
+ h = dlopen ("libcloog-isl.so.4", RTLD_LAZY);
|
||||
+ cloog_pointers__.h = h;
|
||||
+ if (h == NULL)
|
||||
+ return false;
|
||||
+#define DYNSYM(x) \
|
||||
+ do \
|
||||
+ { \
|
||||
+ union { __typeof (cloog_pointers__.p_##x) p; void *q; } u; \
|
||||
+ u.q = dlsym (h, #x); \
|
||||
+ if (u.q == NULL) \
|
||||
+ return false; \
|
||||
+ cloog_pointers__.p_##x = u.p; \
|
||||
+ } \
|
||||
+ while (0)
|
||||
+ DYNSYMS
|
||||
+#undef DYNSYM
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
/* Print global statistics to FILE. */
|
||||
|
||||
static void
|
||||
@@ -277,6 +305,15 @@ graphite_transform_loops (void)
|
||||
if (parallelized_function_p (cfun->decl))
|
||||
return;
|
||||
|
||||
+ if (number_of_loops (cfun) <= 1)
|
||||
+ return;
|
||||
+
|
||||
+ if (!init_cloog_pointers ())
|
||||
+ {
|
||||
+ sorry ("Graphite loop optimizations cannot be used");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
ctx = isl_ctx_alloc ();
|
||||
isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT);
|
||||
if (!graphite_initialize (ctx))
|
||||
--- gcc/graphite-clast-to-gimple.c.jj 2012-12-13 11:31:27.000000000 +0100
|
||||
+++ gcc/graphite-clast-to-gimple.c 2012-12-14 13:27:47.196519858 +0100
|
||||
@@ -910,7 +910,7 @@ compute_bounds_for_loop (struct clast_fo
|
||||
from STMT_FOR. */
|
||||
|
||||
static tree
|
||||
-type_for_clast_for (struct clast_for *stmt_for, ivs_params_p ip)
|
||||
+type_for_clast_for (struct clast_for *stmt_fora, ivs_params_p ip)
|
||||
{
|
||||
mpz_t bound_one, bound_two;
|
||||
tree lb_type, ub_type;
|
||||
@@ -918,8 +918,8 @@ type_for_clast_for (struct clast_for *st
|
||||
mpz_init (bound_one);
|
||||
mpz_init (bound_two);
|
||||
|
||||
- lb_type = type_for_clast_expr (stmt_for->LB, ip, bound_one, bound_two);
|
||||
- ub_type = type_for_clast_expr (stmt_for->UB, ip, bound_one, bound_two);
|
||||
+ lb_type = type_for_clast_expr (stmt_fora->LB, ip, bound_one, bound_two);
|
||||
+ ub_type = type_for_clast_expr (stmt_fora->UB, ip, bound_one, bound_two);
|
||||
|
||||
mpz_clear (bound_one);
|
||||
mpz_clear (bound_two);
|
@ -1,74 +0,0 @@
|
||||
2011-04-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* toplev.c (toplev_main_argv): New variable.
|
||||
(toplev_main): Initialize it.
|
||||
* graphite.c (init_cloog_pointers): Load libcloog-isl.so.4 from gcc's private
|
||||
directory.
|
||||
|
||||
--- gcc/toplev.c.jj 2008-12-09 23:59:10.000000000 +0100
|
||||
+++ gcc/toplev.c 2009-01-27 14:33:52.000000000 +0100
|
||||
@@ -107,6 +107,8 @@ static bool no_backend;
|
||||
/* Length of line when printing switch values. */
|
||||
#define MAX_LINE 75
|
||||
|
||||
+const char **toplev_main_argv;
|
||||
+
|
||||
/* Decoded options, and number of such options. */
|
||||
struct cl_decoded_option *save_decoded_options;
|
||||
unsigned int save_decoded_options_count;
|
||||
@@ -1909,6 +1911,8 @@ toplev_main (int argc, char **argv)
|
||||
|
||||
expandargv (&argc, &argv);
|
||||
|
||||
+ toplev_main_argv = CONST_CAST2 (const char **, char **, argv);
|
||||
+
|
||||
/* Initialization of GCC's environment, and diagnostics. */
|
||||
general_init (argv[0]);
|
||||
|
||||
--- gcc/graphite.c.jj 2010-12-01 10:24:32.000000000 -0500
|
||||
+++ gcc/graphite.c 2010-12-01 11:46:07.832118193 -0500
|
||||
@@ -72,11 +72,39 @@ __typeof (cloog_pointers__) cloog_pointe
|
||||
static bool
|
||||
init_cloog_pointers (void)
|
||||
{
|
||||
- void *h;
|
||||
-
|
||||
- if (cloog_pointers__.inited)
|
||||
- return cloog_pointers__.h != NULL;
|
||||
- h = dlopen ("libcloog-isl.so.4", RTLD_LAZY);
|
||||
+ void *h = NULL;
|
||||
+ extern const char **toplev_main_argv;
|
||||
+ char *buf, *p;
|
||||
+ size_t len;
|
||||
+
|
||||
+ if (cloog_pointers__.inited)
|
||||
+ return cloog_pointers__.h != NULL;
|
||||
+ len = progname - toplev_main_argv[0];
|
||||
+ buf = XALLOCAVAR (char, len + sizeof "libcloog-isl.so.4");
|
||||
+ memcpy (buf, toplev_main_argv[0], len);
|
||||
+ strcpy (buf + len, "libcloog-isl.so.4");
|
||||
+ len += sizeof "libcloog-isl.so.4";
|
||||
+ p = strstr (buf, "/libexec/");
|
||||
+ if (p != NULL)
|
||||
+ {
|
||||
+ while (1)
|
||||
+ {
|
||||
+ char *q = strstr (p + 8, "/libexec/");
|
||||
+ if (q == NULL)
|
||||
+ break;
|
||||
+ p = q;
|
||||
+ }
|
||||
+ memmove (p + 4, p + 8, len - (p + 8 - buf));
|
||||
+ h = dlopen (buf, RTLD_LAZY);
|
||||
+ if (h == NULL)
|
||||
+ {
|
||||
+ len = progname - toplev_main_argv[0];
|
||||
+ memcpy (buf, toplev_main_argv[0], len);
|
||||
+ strcpy (buf + len, "libcloog-isl.so.4");
|
||||
+ }
|
||||
+ }
|
||||
+ if (h == NULL)
|
||||
+ h = dlopen (buf, RTLD_LAZY);
|
||||
cloog_pointers__.h = h;
|
||||
if (h == NULL)
|
||||
return false;
|
@ -1,46 +0,0 @@
|
||||
2013-09-20 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* common.opt (-fdiagnostics-color=): Default to auto.
|
||||
* toplev.c (process_options): Always default to
|
||||
-fdiagnostics-color=auto if no -f{,no-}diagnostics-color*.
|
||||
* doc/invoke.texi (-fdiagnostics-color*): Adjust documentation
|
||||
of the default.
|
||||
|
||||
--- gcc/common.opt.jj 2013-09-18 12:06:53.000000000 +0200
|
||||
+++ gcc/common.opt 2013-09-20 10:00:00.935823900 +0200
|
||||
@@ -1037,7 +1037,7 @@ Common Alias(fdiagnostics-color=,always,
|
||||
;
|
||||
|
||||
fdiagnostics-color=
|
||||
-Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
|
||||
+Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_AUTO)
|
||||
-fdiagnostics-color=[never|always|auto] Colorize diagnostics
|
||||
|
||||
; Required for these enum values.
|
||||
--- gcc/toplev.c.jj 2013-09-09 11:32:39.000000000 +0200
|
||||
+++ gcc/toplev.c 2013-09-20 10:10:08.198721005 +0200
|
||||
@@ -1229,10 +1229,8 @@ process_options (void)
|
||||
|
||||
maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT;
|
||||
|
||||
- /* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment,
|
||||
- otherwise default to -fdiagnostics-color=never. */
|
||||
- if (!global_options_set.x_flag_diagnostics_show_color
|
||||
- && getenv ("GCC_COLORS"))
|
||||
+ /* Default to -fdiagnostics-color=auto. */
|
||||
+ if (!global_options_set.x_flag_diagnostics_show_color)
|
||||
pp_show_color (global_dc->printer)
|
||||
= colorize_init (DIAGNOSTICS_COLOR_AUTO);
|
||||
|
||||
--- gcc/doc/invoke.texi.jj 2013-09-18 12:06:50.000000000 +0200
|
||||
+++ gcc/doc/invoke.texi 2013-09-20 10:09:29.079904455 +0200
|
||||
@@ -3046,8 +3046,7 @@ a message which is too long to fit on a
|
||||
@cindex highlight, color, colour
|
||||
@vindex GCC_COLORS @r{environment variable}
|
||||
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
|
||||
-or @samp{auto}. The default is @samp{never} if @env{GCC_COLORS} environment
|
||||
-variable isn't present in the environment, and @samp{auto} otherwise.
|
||||
+or @samp{auto}. The default is @samp{auto}.
|
||||
@samp{auto} means to use color only when the standard error is a terminal.
|
||||
The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are
|
||||
aliases for @option{-fdiagnostics-color=always} and
|
@ -1,106 +0,0 @@
|
||||
2009-03-18 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/38757
|
||||
* langhooks.h (struct lang_hooks): Add source_language langhook.
|
||||
* langhooks-def.h (LANG_HOOKS_SOURCE_LANGUAGE): Define to NULL.
|
||||
(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_SOURCE_LANGUAGE.
|
||||
* dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
|
||||
also for DW_LANG_{C,C99,ObjC}.
|
||||
(gen_compile_unit_die): Use lang_hooks.source_language () to
|
||||
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
|
||||
c/
|
||||
* c-lang.c (c_source_language): New function.
|
||||
(LANG_HOOKS_SOURCE_LANGUAGE): Define.
|
||||
|
||||
--- gcc/langhooks.h.jj 2011-01-03 12:53:05.125745450 +0100
|
||||
+++ gcc/langhooks.h 2011-01-04 17:59:43.166744926 +0100
|
||||
@@ -467,6 +467,10 @@ struct lang_hooks
|
||||
gimplification. */
|
||||
bool deep_unsharing;
|
||||
|
||||
+ /* Return year of the source language standard version if the FE supports
|
||||
+ multiple versions of the standard. */
|
||||
+ int (*source_language) (void);
|
||||
+
|
||||
/* Whenever you add entries here, make sure you adjust langhooks-def.h
|
||||
and langhooks.c accordingly. */
|
||||
};
|
||||
--- gcc/langhooks-def.h.jj 2011-01-03 12:53:05.000000000 +0100
|
||||
+++ gcc/langhooks-def.h 2011-01-04 18:00:44.858851030 +0100
|
||||
@@ -118,6 +118,7 @@ extern void lhd_omp_firstprivatize_type_
|
||||
#define LANG_HOOKS_BLOCK_MAY_FALLTHRU hook_bool_const_tree_true
|
||||
#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false
|
||||
#define LANG_HOOKS_DEEP_UNSHARING false
|
||||
+#define LANG_HOOKS_SOURCE_LANGUAGE NULL
|
||||
|
||||
/* Attribute hooks. */
|
||||
#define LANG_HOOKS_ATTRIBUTE_TABLE NULL
|
||||
@@ -303,7 +304,8 @@ extern void lhd_end_section (void);
|
||||
LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
|
||||
LANG_HOOKS_BLOCK_MAY_FALLTHRU, \
|
||||
LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
|
||||
- LANG_HOOKS_DEEP_UNSHARING \
|
||||
+ LANG_HOOKS_DEEP_UNSHARING, \
|
||||
+ LANG_HOOKS_SOURCE_LANGUAGE \
|
||||
}
|
||||
|
||||
#endif /* GCC_LANG_HOOKS_DEF_H */
|
||||
--- gcc/c/c-lang.c.jj 2011-01-03 12:53:05.376056936 +0100
|
||||
+++ gcc/c/c-lang.c 2011-01-04 17:59:43.167743798 +0100
|
||||
@@ -36,6 +36,12 @@ along with GCC; see the file COPYING3.
|
||||
|
||||
enum c_language_kind c_language = clk_c;
|
||||
|
||||
+static int
|
||||
+c_source_language (void)
|
||||
+{
|
||||
+ return flag_isoc99 ? 1999 : 1989;
|
||||
+}
|
||||
+
|
||||
/* Lang hooks common to C and ObjC are declared in c-objc-common.h;
|
||||
consequently, there should be very few hooks below. */
|
||||
|
||||
@@ -45,6 +51,8 @@ enum c_language_kind c_language = clk_c;
|
||||
#define LANG_HOOKS_INIT c_objc_common_init
|
||||
#undef LANG_HOOKS_INIT_TS
|
||||
#define LANG_HOOKS_INIT_TS c_common_init_ts
|
||||
+#undef LANG_HOOKS_SOURCE_LANGUAGE
|
||||
+#define LANG_HOOKS_SOURCE_LANGUAGE c_source_language
|
||||
|
||||
/* Each front end provides its own lang hook initializer. */
|
||||
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
|
||||
--- gcc/dwarf2out.c.jj 2011-01-03 12:53:05.102056475 +0100
|
||||
+++ gcc/dwarf2out.c 2011-01-04 18:03:14.534151763 +0100
|
||||
@@ -16109,9 +16109,18 @@ add_bit_size_attribute (dw_die_ref die,
|
||||
static inline void
|
||||
add_prototyped_attribute (dw_die_ref die, tree func_type)
|
||||
{
|
||||
- if (get_AT_unsigned (comp_unit_die (), DW_AT_language) == DW_LANG_C89
|
||||
- && prototype_p (func_type))
|
||||
- add_AT_flag (die, DW_AT_prototyped, 1);
|
||||
+ switch (get_AT_unsigned (comp_unit_die (), DW_AT_language))
|
||||
+ {
|
||||
+ case DW_LANG_C:
|
||||
+ case DW_LANG_C89:
|
||||
+ case DW_LANG_C99:
|
||||
+ case DW_LANG_ObjC:
|
||||
+ if (prototype_p (func_type))
|
||||
+ add_AT_flag (die, DW_AT_prototyped, 1);
|
||||
+ break;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Add an 'abstract_origin' attribute below a given DIE. The DIE is found
|
||||
@@ -18915,6 +18924,10 @@ gen_compile_unit_die (const char *filena
|
||||
if (strcmp (language_string, "GNU Go") == 0)
|
||||
language = DW_LANG_Go;
|
||||
}
|
||||
+ else if (strcmp (language_string, "GNU C") == 0
|
||||
+ && lang_hooks.source_language
|
||||
+ && lang_hooks.source_language () >= 1999)
|
||||
+ language = DW_LANG_C99;
|
||||
}
|
||||
/* Use a degraded Fortran setting in strict DWARF2 so is_fortran works. */
|
||||
else if (strcmp (language_string, "GNU Fortran") == 0)
|
@ -1,17 +0,0 @@
|
||||
2014-12-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR sanitizer/64336
|
||||
* tsan.c (instrument_expr): Ignore TREE_READONLY bit
|
||||
on MEM_REFs.
|
||||
|
||||
--- gcc/tsan.c.jj 2014-12-17 10:53:30.000000000 +0100
|
||||
+++ gcc/tsan.c 2014-12-17 11:55:12.793058159 +0100
|
||||
@@ -138,7 +138,7 @@ instrument_expr (gimple_stmt_iterator gs
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (TREE_READONLY (base)
|
||||
+ if ((TREE_READONLY (base) && TREE_CODE (base) != MEM_REF)
|
||||
|| (TREE_CODE (base) == VAR_DECL
|
||||
&& DECL_HARD_REGISTER (base)))
|
||||
return false;
|
@ -1,95 +0,0 @@
|
||||
2015-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/64536
|
||||
* cfgrtl.c (rtl_tidy_fallthru_edge): Don't remove tablejumps.
|
||||
|
||||
* gcc.dg/pr64536.c: New test.
|
||||
|
||||
--- gcc/cfgrtl.c.jj 2015-01-05 13:07:12.000000000 +0100
|
||||
+++ gcc/cfgrtl.c 2015-01-08 17:03:18.511218340 +0100
|
||||
@@ -1782,10 +1782,14 @@ rtl_tidy_fallthru_edge (edge e)
|
||||
if (INSN_P (q))
|
||||
return;
|
||||
|
||||
+ q = BB_END (b);
|
||||
+ /* Don't remove table jumps here. */
|
||||
+ if (tablejump_p (q, NULL, NULL))
|
||||
+ return;
|
||||
+
|
||||
/* Remove what will soon cease being the jump insn from the source block.
|
||||
If block B consisted only of this single jump, turn it into a deleted
|
||||
note. */
|
||||
- q = BB_END (b);
|
||||
if (JUMP_P (q)
|
||||
&& onlyjump_p (q)
|
||||
&& (any_uncondjump_p (q)
|
||||
--- gcc/testsuite/gcc.dg/pr64536.c.jj 2015-01-08 17:13:32.218929003 +0100
|
||||
+++ gcc/testsuite/gcc.dg/pr64536.c 2015-01-08 17:28:56.758428958 +0100
|
||||
@@ -0,0 +1,67 @@
|
||||
+/* PR rtl-optimization/64536 */
|
||||
+/* { dg-do link } */
|
||||
+/* { dg-options "-O2" } */
|
||||
+/* { dg-additional-options "-fPIC" { target fpic } } */
|
||||
+
|
||||
+struct S { long q; } *h;
|
||||
+long a, b, g, j, k, *c, *d, *e, *f, *i;
|
||||
+long *baz (void)
|
||||
+{
|
||||
+ asm volatile ("" : : : "memory");
|
||||
+ return e;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+bar (int x)
|
||||
+{
|
||||
+ int y;
|
||||
+ for (y = 0; y < x; y++)
|
||||
+ {
|
||||
+ switch (b)
|
||||
+ {
|
||||
+ case 0:
|
||||
+ case 2:
|
||||
+ a++;
|
||||
+ break;
|
||||
+ case 3:
|
||||
+ a++;
|
||||
+ break;
|
||||
+ case 1:
|
||||
+ a++;
|
||||
+ }
|
||||
+ if (d)
|
||||
+ {
|
||||
+ f = baz ();
|
||||
+ g = k++;
|
||||
+ if (&h->q)
|
||||
+ {
|
||||
+ j = *f;
|
||||
+ h->q = *f;
|
||||
+ }
|
||||
+ else
|
||||
+ i = (long *) (h->q = *f);
|
||||
+ *c++ = (long) f;
|
||||
+ e += 6;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ f = baz ();
|
||||
+ g = k++;
|
||||
+ if (&h->q)
|
||||
+ {
|
||||
+ j = *f;
|
||||
+ h->q = *f;
|
||||
+ }
|
||||
+ else
|
||||
+ i = (long *) (h->q = *f);
|
||||
+ *c++ = (long) f;
|
||||
+ e += 6;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
@ -100,3 +100,60 @@
|
||||
@USE_LIBGCJ_BC_TRUE@ $(libgcj_bc_dummy_LINK) -xc /dev/null -Wl,-soname,libgcj_bc.so.1 \
|
||||
@USE_LIBGCJ_BC_TRUE@ -o $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1.0.0 -lgcj || exit; \
|
||||
@USE_LIBGCJ_BC_TRUE@ rm $(DESTDIR)$(toolexeclibdir)/libgcj_bc.so.1; \
|
||||
--- libcpp/macro.c.jj 2015-01-14 11:01:34.000000000 +0100
|
||||
+++ libcpp/macro.c 2015-01-14 14:22:19.286949884 +0100
|
||||
@@ -2947,8 +2947,6 @@ create_iso_definition (cpp_reader *pfile
|
||||
cpp_token *token;
|
||||
const cpp_token *ctoken;
|
||||
bool following_paste_op = false;
|
||||
- const char *paste_op_error_msg =
|
||||
- N_("'##' cannot appear at either end of a macro expansion");
|
||||
unsigned int num_extra_tokens = 0;
|
||||
|
||||
/* Get the first token of the expansion (or the '(' of a
|
||||
@@ -3059,7 +3057,8 @@ create_iso_definition (cpp_reader *pfile
|
||||
function-like macros, but not at the end. */
|
||||
if (following_paste_op)
|
||||
{
|
||||
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
||||
+ cpp_error (pfile, CPP_DL_ERROR,
|
||||
+ "'##' cannot appear at either end of a macro expansion");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@@ -3072,7 +3071,8 @@ create_iso_definition (cpp_reader *pfile
|
||||
function-like macros, but not at the beginning. */
|
||||
if (macro->count == 1)
|
||||
{
|
||||
- cpp_error (pfile, CPP_DL_ERROR, paste_op_error_msg);
|
||||
+ cpp_error (pfile, CPP_DL_ERROR,
|
||||
+ "'##' cannot appear at either end of a macro expansion");
|
||||
return false;
|
||||
}
|
||||
|
||||
--- libcpp/expr.c.jj 2015-01-14 11:01:34.000000000 +0100
|
||||
+++ libcpp/expr.c 2015-01-14 14:35:52.851002344 +0100
|
||||
@@ -672,16 +672,17 @@ cpp_classify_number (cpp_reader *pfile,
|
||||
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
||||
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
||||
{
|
||||
- const char *message = CPP_OPTION (pfile, cplusplus)
|
||||
- ? N_("use of C++11 long long integer constant")
|
||||
- : N_("use of C99 long long integer constant");
|
||||
-
|
||||
if (CPP_OPTION (pfile, c99))
|
||||
cpp_warning_with_line (pfile, CPP_W_LONG_LONG, virtual_location,
|
||||
- 0, message);
|
||||
+ 0, CPP_OPTION (pfile, cplusplus)
|
||||
+ ? N_("use of C++11 long long integer constant")
|
||||
+ : N_("use of C99 long long integer constant"));
|
||||
else
|
||||
cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG,
|
||||
- virtual_location, 0, message);
|
||||
+ virtual_location, 0,
|
||||
+ CPP_OPTION (pfile, cplusplus)
|
||||
+ ? N_("use of C++11 long long integer constant")
|
||||
+ : N_("use of C99 long long integer constant"));
|
||||
}
|
||||
|
||||
result |= CPP_N_INTEGER;
|
561
gcc5-isl-dl.patch
Normal file
561
gcc5-isl-dl.patch
Normal file
@ -0,0 +1,561 @@
|
||||
--- gcc/Makefile.in.jj 2012-12-13 17:09:20.000000000 +0100
|
||||
+++ gcc/Makefile.in 2012-12-14 11:45:22.585670055 +0100
|
||||
@@ -1006,7 +1006,7 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
|
||||
# and the system's installed libraries.
|
||||
LIBS = @LIBS@ libcommon.a $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBBACKTRACE) \
|
||||
$(LIBIBERTY) $(LIBDECNUMBER) $(HOST_LIBS)
|
||||
-BACKENDLIBS = $(ISLLIBS) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||
+BACKENDLIBS = $(if $(ISLLIBS),-ldl) $(GMPLIBS) $(PLUGINLIBS) $(HOST_LIBS) \
|
||||
$(ZLIB)
|
||||
# Any system libraries needed just for GNAT.
|
||||
SYSLIBS = @GNAT_LIBEXC@
|
||||
@@ -2050,6 +2050,15 @@ $(out_object_file): $(out_file)
|
||||
$(common_out_object_file): $(common_out_file)
|
||||
$(COMPILE) $<
|
||||
$(POSTCOMPILE)
|
||||
+
|
||||
+graphite%.o : \
|
||||
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
|
||||
+graphite.o : \
|
||||
+ ALL_CFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CFLAGS))
|
||||
+graphite%.o : \
|
||||
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
|
||||
+graphite.o : \
|
||||
+ ALL_CXXFLAGS := -O $(filter-out -fkeep-inline-functions, $(ALL_CXXFLAGS))
|
||||
#
|
||||
# Generate header and source files from the machine description,
|
||||
# and compile them.
|
||||
--- gcc/graphite-poly.h.jj 2012-12-13 11:31:27.000000000 +0100
|
||||
+++ gcc/graphite-poly.h 2012-12-14 13:41:41.970800726 +0100
|
||||
@@ -22,6 +22,478 @@ along with GCC; see the file COPYING3.
|
||||
#ifndef GCC_GRAPHITE_POLY_H
|
||||
#define GCC_GRAPHITE_POLY_H
|
||||
|
||||
+#include <isl/aff.h>
|
||||
+#include <isl/schedule.h>
|
||||
+#include <isl/ilp.h>
|
||||
+#include <isl/flow.h>
|
||||
+#include <isl/options.h>
|
||||
+#include <isl/ast.h>
|
||||
+#include <isl/ast_build.h>
|
||||
+#include <isl/val_gmp.h>
|
||||
+#include <dlfcn.h>
|
||||
+#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
|
||||
+#define DYNSYM_ZERO_DISTANCE DYNSYM (isl_band_member_is_coincident)
|
||||
+#else
|
||||
+#define DYNSYM_ZERO_DISTANCE DYNSYM (isl_band_member_is_zero_distance)
|
||||
+#endif
|
||||
+#define DYNSYMS \
|
||||
+ DYNSYM (isl_aff_add_coefficient_si); \
|
||||
+ DYNSYM (isl_aff_free); \
|
||||
+ DYNSYM (isl_aff_get_space); \
|
||||
+ DYNSYM (isl_aff_set_coefficient_si); \
|
||||
+ DYNSYM (isl_aff_set_constant_si); \
|
||||
+ DYNSYM (isl_aff_zero_on_domain); \
|
||||
+ DYNSYM (isl_band_free); \
|
||||
+ DYNSYM (isl_band_get_children); \
|
||||
+ DYNSYM (isl_band_get_partial_schedule); \
|
||||
+ DYNSYM (isl_band_has_children); \
|
||||
+ DYNSYM (isl_band_list_free); \
|
||||
+ DYNSYM (isl_band_list_get_band); \
|
||||
+ DYNSYM (isl_band_list_get_ctx); \
|
||||
+ DYNSYM (isl_band_list_n_band); \
|
||||
+ DYNSYM_ZERO_DISTANCE; \
|
||||
+ DYNSYM (isl_band_n_member); \
|
||||
+ DYNSYM (isl_basic_map_add_constraint); \
|
||||
+ DYNSYM (isl_basic_map_project_out); \
|
||||
+ DYNSYM (isl_basic_map_universe); \
|
||||
+ DYNSYM (isl_constraint_set_coefficient_si); \
|
||||
+ DYNSYM (isl_constraint_set_constant_si); \
|
||||
+ DYNSYM (isl_ctx_alloc); \
|
||||
+ DYNSYM (isl_ctx_free); \
|
||||
+ DYNSYM (isl_equality_alloc); \
|
||||
+ DYNSYM (isl_id_alloc); \
|
||||
+ DYNSYM (isl_id_copy); \
|
||||
+ DYNSYM (isl_id_free); \
|
||||
+ DYNSYM (isl_inequality_alloc); \
|
||||
+ DYNSYM (isl_local_space_copy); \
|
||||
+ DYNSYM (isl_local_space_free); \
|
||||
+ DYNSYM (isl_local_space_from_space); \
|
||||
+ DYNSYM (isl_local_space_range); \
|
||||
+ DYNSYM (isl_map_add_constraint); \
|
||||
+ DYNSYM (isl_map_add_dims); \
|
||||
+ DYNSYM (isl_map_align_params); \
|
||||
+ DYNSYM (isl_map_apply_range); \
|
||||
+ DYNSYM (isl_map_copy); \
|
||||
+ DYNSYM (isl_map_dim); \
|
||||
+ DYNSYM (isl_map_dump); \
|
||||
+ DYNSYM (isl_map_equate); \
|
||||
+ DYNSYM (isl_map_fix_si); \
|
||||
+ DYNSYM (isl_map_flat_product); \
|
||||
+ DYNSYM (isl_map_flat_range_product); \
|
||||
+ DYNSYM (isl_map_free); \
|
||||
+ DYNSYM (isl_map_from_basic_map); \
|
||||
+ DYNSYM (isl_map_from_pw_aff); \
|
||||
+ DYNSYM (isl_map_from_union_map); \
|
||||
+ DYNSYM (isl_map_get_ctx); \
|
||||
+ DYNSYM (isl_map_get_space); \
|
||||
+ DYNSYM (isl_map_get_tuple_id); \
|
||||
+ DYNSYM (isl_map_insert_dims); \
|
||||
+ DYNSYM (isl_map_intersect); \
|
||||
+ DYNSYM (isl_map_intersect_domain); \
|
||||
+ DYNSYM (isl_map_intersect_range); \
|
||||
+ DYNSYM (isl_map_is_empty); \
|
||||
+ DYNSYM (isl_map_lex_ge); \
|
||||
+ DYNSYM (isl_map_lex_le); \
|
||||
+ DYNSYM (isl_map_n_out); \
|
||||
+ DYNSYM (isl_map_range); \
|
||||
+ DYNSYM (isl_map_set_tuple_id); \
|
||||
+ DYNSYM (isl_map_universe); \
|
||||
+ DYNSYM (isl_options_set_on_error); \
|
||||
+ DYNSYM (isl_options_set_schedule_fuse); \
|
||||
+ DYNSYM (isl_options_set_schedule_max_constant_term); \
|
||||
+ DYNSYM (isl_options_set_schedule_maximize_band_depth); \
|
||||
+ DYNSYM (isl_printer_free); \
|
||||
+ DYNSYM (isl_printer_print_aff); \
|
||||
+ DYNSYM (isl_printer_print_constraint); \
|
||||
+ DYNSYM (isl_printer_print_map); \
|
||||
+ DYNSYM (isl_printer_print_set); \
|
||||
+ DYNSYM (isl_printer_to_file); \
|
||||
+ DYNSYM (isl_pw_aff_add); \
|
||||
+ DYNSYM (isl_pw_aff_alloc); \
|
||||
+ DYNSYM (isl_pw_aff_copy); \
|
||||
+ DYNSYM (isl_pw_aff_eq_set); \
|
||||
+ DYNSYM (isl_pw_aff_free); \
|
||||
+ DYNSYM (isl_pw_aff_from_aff); \
|
||||
+ DYNSYM (isl_pw_aff_ge_set); \
|
||||
+ DYNSYM (isl_pw_aff_gt_set); \
|
||||
+ DYNSYM (isl_pw_aff_is_cst); \
|
||||
+ DYNSYM (isl_pw_aff_le_set); \
|
||||
+ DYNSYM (isl_pw_aff_lt_set); \
|
||||
+ DYNSYM (isl_pw_aff_mul); \
|
||||
+ DYNSYM (isl_pw_aff_ne_set); \
|
||||
+ DYNSYM (isl_pw_aff_nonneg_set); \
|
||||
+ DYNSYM (isl_pw_aff_set_tuple_id); \
|
||||
+ DYNSYM (isl_pw_aff_sub); \
|
||||
+ DYNSYM (isl_pw_aff_zero_set); \
|
||||
+ DYNSYM (isl_schedule_free); \
|
||||
+ DYNSYM (isl_schedule_get_band_forest); \
|
||||
+ DYNSYM (isl_set_add_constraint); \
|
||||
+ DYNSYM (isl_set_add_dims); \
|
||||
+ DYNSYM (isl_set_apply); \
|
||||
+ DYNSYM (isl_set_coalesce); \
|
||||
+ DYNSYM (isl_set_copy); \
|
||||
+ DYNSYM (isl_set_dim); \
|
||||
+ DYNSYM (isl_set_fix_si); \
|
||||
+ DYNSYM (isl_set_free); \
|
||||
+ DYNSYM (isl_set_get_space); \
|
||||
+ DYNSYM (isl_set_get_tuple_id); \
|
||||
+ DYNSYM (isl_set_intersect); \
|
||||
+ DYNSYM (isl_set_is_empty); \
|
||||
+ DYNSYM (isl_set_n_dim); \
|
||||
+ DYNSYM (isl_set_nat_universe); \
|
||||
+ DYNSYM (isl_set_project_out); \
|
||||
+ DYNSYM (isl_set_set_tuple_id); \
|
||||
+ DYNSYM (isl_set_universe); \
|
||||
+ DYNSYM (isl_space_add_dims); \
|
||||
+ DYNSYM (isl_space_alloc); \
|
||||
+ DYNSYM (isl_space_copy); \
|
||||
+ DYNSYM (isl_space_dim); \
|
||||
+ DYNSYM (isl_space_domain); \
|
||||
+ DYNSYM (isl_space_find_dim_by_id); \
|
||||
+ DYNSYM (isl_space_free); \
|
||||
+ DYNSYM (isl_space_from_domain); \
|
||||
+ DYNSYM (isl_space_get_tuple_id); \
|
||||
+ DYNSYM (isl_space_params_alloc); \
|
||||
+ DYNSYM (isl_space_range); \
|
||||
+ DYNSYM (isl_space_set_alloc); \
|
||||
+ DYNSYM (isl_space_set_dim_id); \
|
||||
+ DYNSYM (isl_space_set_tuple_id); \
|
||||
+ DYNSYM (isl_union_map_add_map); \
|
||||
+ DYNSYM (isl_union_map_align_params); \
|
||||
+ DYNSYM (isl_union_map_apply_domain); \
|
||||
+ DYNSYM (isl_union_map_apply_range); \
|
||||
+ DYNSYM (isl_union_map_compute_flow); \
|
||||
+ DYNSYM (isl_union_map_copy); \
|
||||
+ DYNSYM (isl_union_map_empty); \
|
||||
+ DYNSYM (isl_union_map_flat_range_product); \
|
||||
+ DYNSYM (isl_union_map_foreach_map); \
|
||||
+ DYNSYM (isl_union_map_free); \
|
||||
+ DYNSYM (isl_union_map_from_map); \
|
||||
+ DYNSYM (isl_union_map_get_ctx); \
|
||||
+ DYNSYM (isl_union_map_get_space); \
|
||||
+ DYNSYM (isl_union_map_gist_domain); \
|
||||
+ DYNSYM (isl_union_map_gist_range); \
|
||||
+ DYNSYM (isl_union_map_intersect_domain); \
|
||||
+ DYNSYM (isl_union_map_is_empty); \
|
||||
+ DYNSYM (isl_union_map_subtract); \
|
||||
+ DYNSYM (isl_union_map_union); \
|
||||
+ DYNSYM (isl_union_set_add_set); \
|
||||
+ DYNSYM (isl_union_set_compute_schedule); \
|
||||
+ DYNSYM (isl_union_set_copy); \
|
||||
+ DYNSYM (isl_union_set_empty); \
|
||||
+ DYNSYM (isl_union_set_from_set); \
|
||||
+ DYNSYM (isl_aff_add_constant_val); \
|
||||
+ DYNSYM (isl_aff_get_coefficient_val); \
|
||||
+ DYNSYM (isl_aff_get_ctx); \
|
||||
+ DYNSYM (isl_aff_mod_val); \
|
||||
+ DYNSYM (isl_ast_build_ast_from_schedule); \
|
||||
+ DYNSYM (isl_ast_build_free); \
|
||||
+ DYNSYM (isl_ast_build_from_context); \
|
||||
+ DYNSYM (isl_ast_build_get_ctx); \
|
||||
+ DYNSYM (isl_ast_build_get_schedule); \
|
||||
+ DYNSYM (isl_ast_build_get_schedule_space); \
|
||||
+ DYNSYM (isl_ast_build_set_before_each_for); \
|
||||
+ DYNSYM (isl_ast_build_set_options); \
|
||||
+ DYNSYM (isl_ast_expr_free); \
|
||||
+ DYNSYM (isl_ast_expr_from_val); \
|
||||
+ DYNSYM (isl_ast_expr_get_ctx); \
|
||||
+ DYNSYM (isl_ast_expr_get_id); \
|
||||
+ DYNSYM (isl_ast_expr_get_op_arg); \
|
||||
+ DYNSYM (isl_ast_expr_get_op_n_arg); \
|
||||
+ DYNSYM (isl_ast_expr_get_op_type); \
|
||||
+ DYNSYM (isl_ast_expr_get_type); \
|
||||
+ DYNSYM (isl_ast_expr_get_val); \
|
||||
+ DYNSYM (isl_ast_expr_sub); \
|
||||
+ DYNSYM (isl_ast_node_block_get_children); \
|
||||
+ DYNSYM (isl_ast_node_for_get_body); \
|
||||
+ DYNSYM (isl_ast_node_for_get_cond); \
|
||||
+ DYNSYM (isl_ast_node_for_get_inc); \
|
||||
+ DYNSYM (isl_ast_node_for_get_init); \
|
||||
+ DYNSYM (isl_ast_node_for_get_iterator); \
|
||||
+ DYNSYM (isl_ast_node_free); \
|
||||
+ DYNSYM (isl_ast_node_get_annotation); \
|
||||
+ DYNSYM (isl_ast_node_get_type); \
|
||||
+ DYNSYM (isl_ast_node_if_get_cond); \
|
||||
+ DYNSYM (isl_ast_node_if_get_else); \
|
||||
+ DYNSYM (isl_ast_node_if_get_then); \
|
||||
+ DYNSYM (isl_ast_node_list_free); \
|
||||
+ DYNSYM (isl_ast_node_list_get_ast_node); \
|
||||
+ DYNSYM (isl_ast_node_list_n_ast_node); \
|
||||
+ DYNSYM (isl_ast_node_user_get_expr); \
|
||||
+ DYNSYM (isl_constraint_set_coefficient_val); \
|
||||
+ DYNSYM (isl_constraint_set_constant_val); \
|
||||
+ DYNSYM (isl_id_get_user); \
|
||||
+ DYNSYM (isl_local_space_get_ctx); \
|
||||
+ DYNSYM (isl_map_fix_val); \
|
||||
+ DYNSYM (isl_options_set_ast_build_atomic_upper_bound); \
|
||||
+ DYNSYM (isl_printer_print_ast_node); \
|
||||
+ DYNSYM (isl_printer_print_str); \
|
||||
+ DYNSYM (isl_printer_set_output_format); \
|
||||
+ DYNSYM (isl_pw_aff_mod_val); \
|
||||
+ DYNSYM (isl_schedule_constraints_compute_schedule); \
|
||||
+ DYNSYM (isl_schedule_constraints_on_domain); \
|
||||
+ DYNSYM (isl_schedule_constraints_set_coincidence); \
|
||||
+ DYNSYM (isl_schedule_constraints_set_proximity); \
|
||||
+ DYNSYM (isl_schedule_constraints_set_validity); \
|
||||
+ DYNSYM (isl_set_get_dim_id); \
|
||||
+ DYNSYM (isl_set_max_val); \
|
||||
+ DYNSYM (isl_set_min_val); \
|
||||
+ DYNSYM (isl_set_params); \
|
||||
+ DYNSYM (isl_space_align_params); \
|
||||
+ DYNSYM (isl_space_map_from_domain_and_range); \
|
||||
+ DYNSYM (isl_space_set_tuple_name); \
|
||||
+ DYNSYM (isl_space_wrap); \
|
||||
+ DYNSYM (isl_union_map_from_domain_and_range); \
|
||||
+ DYNSYM (isl_union_map_range); \
|
||||
+ DYNSYM (isl_union_set_union); \
|
||||
+ DYNSYM (isl_union_set_universe); \
|
||||
+ DYNSYM (isl_val_2exp); \
|
||||
+ DYNSYM (isl_val_add_ui); \
|
||||
+ DYNSYM (isl_val_copy); \
|
||||
+ DYNSYM (isl_val_free); \
|
||||
+ DYNSYM (isl_val_get_num_gmp); \
|
||||
+ DYNSYM (isl_val_int_from_gmp); \
|
||||
+ DYNSYM (isl_val_int_from_si); \
|
||||
+ DYNSYM (isl_val_int_from_ui); \
|
||||
+ DYNSYM (isl_val_mul); \
|
||||
+ DYNSYM (isl_val_neg); \
|
||||
+ DYNSYM (isl_val_sub);
|
||||
+
|
||||
+extern struct isl_pointers_s__
|
||||
+{
|
||||
+ bool inited;
|
||||
+ void *h;
|
||||
+#define DYNSYM(x) __typeof (x) *p_##x
|
||||
+ DYNSYMS
|
||||
+#undef DYNSYM
|
||||
+} isl_pointers__;
|
||||
+
|
||||
+#define isl_aff_add_coefficient_si (*isl_pointers__.p_isl_aff_add_coefficient_si)
|
||||
+#define isl_aff_free (*isl_pointers__.p_isl_aff_free)
|
||||
+#define isl_aff_get_space (*isl_pointers__.p_isl_aff_get_space)
|
||||
+#define isl_aff_set_coefficient_si (*isl_pointers__.p_isl_aff_set_coefficient_si)
|
||||
+#define isl_aff_set_constant_si (*isl_pointers__.p_isl_aff_set_constant_si)
|
||||
+#define isl_aff_zero_on_domain (*isl_pointers__.p_isl_aff_zero_on_domain)
|
||||
+#define isl_band_free (*isl_pointers__.p_isl_band_free)
|
||||
+#define isl_band_get_children (*isl_pointers__.p_isl_band_get_children)
|
||||
+#define isl_band_get_partial_schedule (*isl_pointers__.p_isl_band_get_partial_schedule)
|
||||
+#define isl_band_has_children (*isl_pointers__.p_isl_band_has_children)
|
||||
+#define isl_band_list_free (*isl_pointers__.p_isl_band_list_free)
|
||||
+#define isl_band_list_get_band (*isl_pointers__.p_isl_band_list_get_band)
|
||||
+#define isl_band_list_get_ctx (*isl_pointers__.p_isl_band_list_get_ctx)
|
||||
+#define isl_band_list_n_band (*isl_pointers__.p_isl_band_list_n_band)
|
||||
+#ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
|
||||
+#define isl_band_member_is_coincident (*isl_pointers__.p_isl_band_member_is_coincident)
|
||||
+#else
|
||||
+#define isl_band_member_is_zero_distance (*isl_pointers__.p_isl_band_member_is_zero_distance)
|
||||
+#endif
|
||||
+#define isl_band_n_member (*isl_pointers__.p_isl_band_n_member)
|
||||
+#define isl_basic_map_add_constraint (*isl_pointers__.p_isl_basic_map_add_constraint)
|
||||
+#define isl_basic_map_project_out (*isl_pointers__.p_isl_basic_map_project_out)
|
||||
+#define isl_basic_map_universe (*isl_pointers__.p_isl_basic_map_universe)
|
||||
+#define isl_constraint_set_coefficient_si (*isl_pointers__.p_isl_constraint_set_coefficient_si)
|
||||
+#define isl_constraint_set_constant_si (*isl_pointers__.p_isl_constraint_set_constant_si)
|
||||
+#define isl_ctx_alloc (*isl_pointers__.p_isl_ctx_alloc)
|
||||
+#define isl_ctx_free (*isl_pointers__.p_isl_ctx_free)
|
||||
+#define isl_equality_alloc (*isl_pointers__.p_isl_equality_alloc)
|
||||
+#define isl_id_alloc (*isl_pointers__.p_isl_id_alloc)
|
||||
+#define isl_id_copy (*isl_pointers__.p_isl_id_copy)
|
||||
+#define isl_id_free (*isl_pointers__.p_isl_id_free)
|
||||
+#define isl_inequality_alloc (*isl_pointers__.p_isl_inequality_alloc)
|
||||
+#define isl_local_space_copy (*isl_pointers__.p_isl_local_space_copy)
|
||||
+#define isl_local_space_free (*isl_pointers__.p_isl_local_space_free)
|
||||
+#define isl_local_space_from_space (*isl_pointers__.p_isl_local_space_from_space)
|
||||
+#define isl_local_space_range (*isl_pointers__.p_isl_local_space_range)
|
||||
+#define isl_map_add_constraint (*isl_pointers__.p_isl_map_add_constraint)
|
||||
+#define isl_map_add_dims (*isl_pointers__.p_isl_map_add_dims)
|
||||
+#define isl_map_align_params (*isl_pointers__.p_isl_map_align_params)
|
||||
+#define isl_map_apply_range (*isl_pointers__.p_isl_map_apply_range)
|
||||
+#define isl_map_copy (*isl_pointers__.p_isl_map_copy)
|
||||
+#define isl_map_dim (*isl_pointers__.p_isl_map_dim)
|
||||
+#define isl_map_dump (*isl_pointers__.p_isl_map_dump)
|
||||
+#define isl_map_equate (*isl_pointers__.p_isl_map_equate)
|
||||
+#define isl_map_fix_si (*isl_pointers__.p_isl_map_fix_si)
|
||||
+#define isl_map_flat_product (*isl_pointers__.p_isl_map_flat_product)
|
||||
+#define isl_map_flat_range_product (*isl_pointers__.p_isl_map_flat_range_product)
|
||||
+#define isl_map_free (*isl_pointers__.p_isl_map_free)
|
||||
+#define isl_map_from_basic_map (*isl_pointers__.p_isl_map_from_basic_map)
|
||||
+#define isl_map_from_pw_aff (*isl_pointers__.p_isl_map_from_pw_aff)
|
||||
+#define isl_map_from_union_map (*isl_pointers__.p_isl_map_from_union_map)
|
||||
+#define isl_map_get_ctx (*isl_pointers__.p_isl_map_get_ctx)
|
||||
+#define isl_map_get_space (*isl_pointers__.p_isl_map_get_space)
|
||||
+#define isl_map_get_tuple_id (*isl_pointers__.p_isl_map_get_tuple_id)
|
||||
+#define isl_map_insert_dims (*isl_pointers__.p_isl_map_insert_dims)
|
||||
+#define isl_map_intersect (*isl_pointers__.p_isl_map_intersect)
|
||||
+#define isl_map_intersect_domain (*isl_pointers__.p_isl_map_intersect_domain)
|
||||
+#define isl_map_intersect_range (*isl_pointers__.p_isl_map_intersect_range)
|
||||
+#define isl_map_is_empty (*isl_pointers__.p_isl_map_is_empty)
|
||||
+#define isl_map_lex_ge (*isl_pointers__.p_isl_map_lex_ge)
|
||||
+#define isl_map_lex_le (*isl_pointers__.p_isl_map_lex_le)
|
||||
+#define isl_map_n_out (*isl_pointers__.p_isl_map_n_out)
|
||||
+#define isl_map_range (*isl_pointers__.p_isl_map_range)
|
||||
+#define isl_map_set_tuple_id (*isl_pointers__.p_isl_map_set_tuple_id)
|
||||
+#define isl_map_universe (*isl_pointers__.p_isl_map_universe)
|
||||
+#define isl_options_set_on_error (*isl_pointers__.p_isl_options_set_on_error)
|
||||
+#define isl_options_set_schedule_fuse (*isl_pointers__.p_isl_options_set_schedule_fuse)
|
||||
+#define isl_options_set_schedule_max_constant_term (*isl_pointers__.p_isl_options_set_schedule_max_constant_term)
|
||||
+#define isl_options_set_schedule_maximize_band_depth (*isl_pointers__.p_isl_options_set_schedule_maximize_band_depth)
|
||||
+#define isl_printer_free (*isl_pointers__.p_isl_printer_free)
|
||||
+#define isl_printer_print_aff (*isl_pointers__.p_isl_printer_print_aff)
|
||||
+#define isl_printer_print_constraint (*isl_pointers__.p_isl_printer_print_constraint)
|
||||
+#define isl_printer_print_map (*isl_pointers__.p_isl_printer_print_map)
|
||||
+#define isl_printer_print_set (*isl_pointers__.p_isl_printer_print_set)
|
||||
+#define isl_printer_to_file (*isl_pointers__.p_isl_printer_to_file)
|
||||
+#define isl_pw_aff_add (*isl_pointers__.p_isl_pw_aff_add)
|
||||
+#define isl_pw_aff_alloc (*isl_pointers__.p_isl_pw_aff_alloc)
|
||||
+#define isl_pw_aff_copy (*isl_pointers__.p_isl_pw_aff_copy)
|
||||
+#define isl_pw_aff_eq_set (*isl_pointers__.p_isl_pw_aff_eq_set)
|
||||
+#define isl_pw_aff_free (*isl_pointers__.p_isl_pw_aff_free)
|
||||
+#define isl_pw_aff_from_aff (*isl_pointers__.p_isl_pw_aff_from_aff)
|
||||
+#define isl_pw_aff_ge_set (*isl_pointers__.p_isl_pw_aff_ge_set)
|
||||
+#define isl_pw_aff_gt_set (*isl_pointers__.p_isl_pw_aff_gt_set)
|
||||
+#define isl_pw_aff_is_cst (*isl_pointers__.p_isl_pw_aff_is_cst)
|
||||
+#define isl_pw_aff_le_set (*isl_pointers__.p_isl_pw_aff_le_set)
|
||||
+#define isl_pw_aff_lt_set (*isl_pointers__.p_isl_pw_aff_lt_set)
|
||||
+#define isl_pw_aff_mul (*isl_pointers__.p_isl_pw_aff_mul)
|
||||
+#define isl_pw_aff_ne_set (*isl_pointers__.p_isl_pw_aff_ne_set)
|
||||
+#define isl_pw_aff_nonneg_set (*isl_pointers__.p_isl_pw_aff_nonneg_set)
|
||||
+#define isl_pw_aff_set_tuple_id (*isl_pointers__.p_isl_pw_aff_set_tuple_id)
|
||||
+#define isl_pw_aff_sub (*isl_pointers__.p_isl_pw_aff_sub)
|
||||
+#define isl_pw_aff_zero_set (*isl_pointers__.p_isl_pw_aff_zero_set)
|
||||
+#define isl_schedule_free (*isl_pointers__.p_isl_schedule_free)
|
||||
+#define isl_schedule_get_band_forest (*isl_pointers__.p_isl_schedule_get_band_forest)
|
||||
+#define isl_set_add_constraint (*isl_pointers__.p_isl_set_add_constraint)
|
||||
+#define isl_set_add_dims (*isl_pointers__.p_isl_set_add_dims)
|
||||
+#define isl_set_apply (*isl_pointers__.p_isl_set_apply)
|
||||
+#define isl_set_coalesce (*isl_pointers__.p_isl_set_coalesce)
|
||||
+#define isl_set_copy (*isl_pointers__.p_isl_set_copy)
|
||||
+#define isl_set_dim (*isl_pointers__.p_isl_set_dim)
|
||||
+#define isl_set_fix_si (*isl_pointers__.p_isl_set_fix_si)
|
||||
+#define isl_set_free (*isl_pointers__.p_isl_set_free)
|
||||
+#define isl_set_get_space (*isl_pointers__.p_isl_set_get_space)
|
||||
+#define isl_set_get_tuple_id (*isl_pointers__.p_isl_set_get_tuple_id)
|
||||
+#define isl_set_intersect (*isl_pointers__.p_isl_set_intersect)
|
||||
+#define isl_set_is_empty (*isl_pointers__.p_isl_set_is_empty)
|
||||
+#define isl_set_n_dim (*isl_pointers__.p_isl_set_n_dim)
|
||||
+#define isl_set_nat_universe (*isl_pointers__.p_isl_set_nat_universe)
|
||||
+#define isl_set_project_out (*isl_pointers__.p_isl_set_project_out)
|
||||
+#define isl_set_set_tuple_id (*isl_pointers__.p_isl_set_set_tuple_id)
|
||||
+#define isl_set_universe (*isl_pointers__.p_isl_set_universe)
|
||||
+#define isl_space_add_dims (*isl_pointers__.p_isl_space_add_dims)
|
||||
+#define isl_space_alloc (*isl_pointers__.p_isl_space_alloc)
|
||||
+#define isl_space_copy (*isl_pointers__.p_isl_space_copy)
|
||||
+#define isl_space_dim (*isl_pointers__.p_isl_space_dim)
|
||||
+#define isl_space_domain (*isl_pointers__.p_isl_space_domain)
|
||||
+#define isl_space_find_dim_by_id (*isl_pointers__.p_isl_space_find_dim_by_id)
|
||||
+#define isl_space_free (*isl_pointers__.p_isl_space_free)
|
||||
+#define isl_space_from_domain (*isl_pointers__.p_isl_space_from_domain)
|
||||
+#define isl_space_get_tuple_id (*isl_pointers__.p_isl_space_get_tuple_id)
|
||||
+#define isl_space_params_alloc (*isl_pointers__.p_isl_space_params_alloc)
|
||||
+#define isl_space_range (*isl_pointers__.p_isl_space_range)
|
||||
+#define isl_space_set_alloc (*isl_pointers__.p_isl_space_set_alloc)
|
||||
+#define isl_space_set_dim_id (*isl_pointers__.p_isl_space_set_dim_id)
|
||||
+#define isl_space_set_tuple_id (*isl_pointers__.p_isl_space_set_tuple_id)
|
||||
+#define isl_union_map_add_map (*isl_pointers__.p_isl_union_map_add_map)
|
||||
+#define isl_union_map_align_params (*isl_pointers__.p_isl_union_map_align_params)
|
||||
+#define isl_union_map_apply_domain (*isl_pointers__.p_isl_union_map_apply_domain)
|
||||
+#define isl_union_map_apply_range (*isl_pointers__.p_isl_union_map_apply_range)
|
||||
+#define isl_union_map_compute_flow (*isl_pointers__.p_isl_union_map_compute_flow)
|
||||
+#define isl_union_map_copy (*isl_pointers__.p_isl_union_map_copy)
|
||||
+#define isl_union_map_empty (*isl_pointers__.p_isl_union_map_empty)
|
||||
+#define isl_union_map_flat_range_product (*isl_pointers__.p_isl_union_map_flat_range_product)
|
||||
+#define isl_union_map_foreach_map (*isl_pointers__.p_isl_union_map_foreach_map)
|
||||
+#define isl_union_map_free (*isl_pointers__.p_isl_union_map_free)
|
||||
+#define isl_union_map_from_map (*isl_pointers__.p_isl_union_map_from_map)
|
||||
+#define isl_union_map_get_ctx (*isl_pointers__.p_isl_union_map_get_ctx)
|
||||
+#define isl_union_map_get_space (*isl_pointers__.p_isl_union_map_get_space)
|
||||
+#define isl_union_map_gist_domain (*isl_pointers__.p_isl_union_map_gist_domain)
|
||||
+#define isl_union_map_gist_range (*isl_pointers__.p_isl_union_map_gist_range)
|
||||
+#define isl_union_map_intersect_domain (*isl_pointers__.p_isl_union_map_intersect_domain)
|
||||
+#define isl_union_map_is_empty (*isl_pointers__.p_isl_union_map_is_empty)
|
||||
+#define isl_union_map_subtract (*isl_pointers__.p_isl_union_map_subtract)
|
||||
+#define isl_union_map_union (*isl_pointers__.p_isl_union_map_union)
|
||||
+#define isl_union_set_add_set (*isl_pointers__.p_isl_union_set_add_set)
|
||||
+#define isl_union_set_compute_schedule (*isl_pointers__.p_isl_union_set_compute_schedule)
|
||||
+#define isl_union_set_copy (*isl_pointers__.p_isl_union_set_copy)
|
||||
+#define isl_union_set_empty (*isl_pointers__.p_isl_union_set_empty)
|
||||
+#define isl_union_set_from_set (*isl_pointers__.p_isl_union_set_from_set)
|
||||
+#define isl_aff_add_constant_val (*isl_pointers__.p_isl_aff_add_constant_val)
|
||||
+#define isl_aff_get_coefficient_val (*isl_pointers__.p_isl_aff_get_coefficient_val)
|
||||
+#define isl_aff_get_ctx (*isl_pointers__.p_isl_aff_get_ctx)
|
||||
+#define isl_aff_mod_val (*isl_pointers__.p_isl_aff_mod_val)
|
||||
+#define isl_ast_build_ast_from_schedule (*isl_pointers__.p_isl_ast_build_ast_from_schedule)
|
||||
+#define isl_ast_build_free (*isl_pointers__.p_isl_ast_build_free)
|
||||
+#define isl_ast_build_from_context (*isl_pointers__.p_isl_ast_build_from_context)
|
||||
+#define isl_ast_build_get_ctx (*isl_pointers__.p_isl_ast_build_get_ctx)
|
||||
+#define isl_ast_build_get_schedule (*isl_pointers__.p_isl_ast_build_get_schedule)
|
||||
+#define isl_ast_build_get_schedule_space (*isl_pointers__.p_isl_ast_build_get_schedule_space)
|
||||
+#define isl_ast_build_set_before_each_for (*isl_pointers__.p_isl_ast_build_set_before_each_for)
|
||||
+#define isl_ast_build_set_options (*isl_pointers__.p_isl_ast_build_set_options)
|
||||
+#define isl_ast_expr_free (*isl_pointers__.p_isl_ast_expr_free)
|
||||
+#define isl_ast_expr_from_val (*isl_pointers__.p_isl_ast_expr_from_val)
|
||||
+#define isl_ast_expr_get_ctx (*isl_pointers__.p_isl_ast_expr_get_ctx)
|
||||
+#define isl_ast_expr_get_id (*isl_pointers__.p_isl_ast_expr_get_id)
|
||||
+#define isl_ast_expr_get_op_arg (*isl_pointers__.p_isl_ast_expr_get_op_arg)
|
||||
+#define isl_ast_expr_get_op_n_arg (*isl_pointers__.p_isl_ast_expr_get_op_n_arg)
|
||||
+#define isl_ast_expr_get_op_type (*isl_pointers__.p_isl_ast_expr_get_op_type)
|
||||
+#define isl_ast_expr_get_type (*isl_pointers__.p_isl_ast_expr_get_type)
|
||||
+#define isl_ast_expr_get_val (*isl_pointers__.p_isl_ast_expr_get_val)
|
||||
+#define isl_ast_expr_sub (*isl_pointers__.p_isl_ast_expr_sub)
|
||||
+#define isl_ast_node_block_get_children (*isl_pointers__.p_isl_ast_node_block_get_children)
|
||||
+#define isl_ast_node_for_get_body (*isl_pointers__.p_isl_ast_node_for_get_body)
|
||||
+#define isl_ast_node_for_get_cond (*isl_pointers__.p_isl_ast_node_for_get_cond)
|
||||
+#define isl_ast_node_for_get_inc (*isl_pointers__.p_isl_ast_node_for_get_inc)
|
||||
+#define isl_ast_node_for_get_init (*isl_pointers__.p_isl_ast_node_for_get_init)
|
||||
+#define isl_ast_node_for_get_iterator (*isl_pointers__.p_isl_ast_node_for_get_iterator)
|
||||
+#define isl_ast_node_free (*isl_pointers__.p_isl_ast_node_free)
|
||||
+#define isl_ast_node_get_annotation (*isl_pointers__.p_isl_ast_node_get_annotation)
|
||||
+#define isl_ast_node_get_type (*isl_pointers__.p_isl_ast_node_get_type)
|
||||
+#define isl_ast_node_if_get_cond (*isl_pointers__.p_isl_ast_node_if_get_cond)
|
||||
+#define isl_ast_node_if_get_else (*isl_pointers__.p_isl_ast_node_if_get_else)
|
||||
+#define isl_ast_node_if_get_then (*isl_pointers__.p_isl_ast_node_if_get_then)
|
||||
+#define isl_ast_node_list_free (*isl_pointers__.p_isl_ast_node_list_free)
|
||||
+#define isl_ast_node_list_get_ast_node (*isl_pointers__.p_isl_ast_node_list_get_ast_node)
|
||||
+#define isl_ast_node_list_n_ast_node (*isl_pointers__.p_isl_ast_node_list_n_ast_node)
|
||||
+#define isl_ast_node_user_get_expr (*isl_pointers__.p_isl_ast_node_user_get_expr)
|
||||
+#define isl_constraint_set_coefficient_val (*isl_pointers__.p_isl_constraint_set_coefficient_val)
|
||||
+#define isl_constraint_set_constant_val (*isl_pointers__.p_isl_constraint_set_constant_val)
|
||||
+#define isl_id_get_user (*isl_pointers__.p_isl_id_get_user)
|
||||
+#define isl_local_space_get_ctx (*isl_pointers__.p_isl_local_space_get_ctx)
|
||||
+#define isl_map_fix_val (*isl_pointers__.p_isl_map_fix_val)
|
||||
+#define isl_options_set_ast_build_atomic_upper_bound (*isl_pointers__.p_isl_options_set_ast_build_atomic_upper_bound)
|
||||
+#define isl_printer_print_ast_node (*isl_pointers__.p_isl_printer_print_ast_node)
|
||||
+#define isl_printer_print_str (*isl_pointers__.p_isl_printer_print_str)
|
||||
+#define isl_printer_set_output_format (*isl_pointers__.p_isl_printer_set_output_format)
|
||||
+#define isl_pw_aff_mod_val (*isl_pointers__.p_isl_pw_aff_mod_val)
|
||||
+#define isl_schedule_constraints_compute_schedule (*isl_pointers__.p_isl_schedule_constraints_compute_schedule)
|
||||
+#define isl_schedule_constraints_on_domain (*isl_pointers__.p_isl_schedule_constraints_on_domain)
|
||||
+#define isl_schedule_constraints_set_coincidence (*isl_pointers__.p_isl_schedule_constraints_set_coincidence)
|
||||
+#define isl_schedule_constraints_set_proximity (*isl_pointers__.p_isl_schedule_constraints_set_proximity)
|
||||
+#define isl_schedule_constraints_set_validity (*isl_pointers__.p_isl_schedule_constraints_set_validity)
|
||||
+#define isl_set_get_dim_id (*isl_pointers__.p_isl_set_get_dim_id)
|
||||
+#define isl_set_max_val (*isl_pointers__.p_isl_set_max_val)
|
||||
+#define isl_set_min_val (*isl_pointers__.p_isl_set_min_val)
|
||||
+#define isl_set_params (*isl_pointers__.p_isl_set_params)
|
||||
+#define isl_space_align_params (*isl_pointers__.p_isl_space_align_params)
|
||||
+#define isl_space_map_from_domain_and_range (*isl_pointers__.p_isl_space_map_from_domain_and_range)
|
||||
+#define isl_space_set_tuple_name (*isl_pointers__.p_isl_space_set_tuple_name)
|
||||
+#define isl_space_wrap (*isl_pointers__.p_isl_space_wrap)
|
||||
+#define isl_union_map_from_domain_and_range (*isl_pointers__.p_isl_union_map_from_domain_and_range)
|
||||
+#define isl_union_map_range (*isl_pointers__.p_isl_union_map_range)
|
||||
+#define isl_union_set_union (*isl_pointers__.p_isl_union_set_union)
|
||||
+#define isl_union_set_universe (*isl_pointers__.p_isl_union_set_universe)
|
||||
+#define isl_val_2exp (*isl_pointers__.p_isl_val_2exp)
|
||||
+#define isl_val_add_ui (*isl_pointers__.p_isl_val_add_ui)
|
||||
+#define isl_val_copy (*isl_pointers__.p_isl_val_copy)
|
||||
+#define isl_val_free (*isl_pointers__.p_isl_val_free)
|
||||
+#define isl_val_get_num_gmp (*isl_pointers__.p_isl_val_get_num_gmp)
|
||||
+#define isl_val_int_from_gmp (*isl_pointers__.p_isl_val_int_from_gmp)
|
||||
+#define isl_val_int_from_si (*isl_pointers__.p_isl_val_int_from_si)
|
||||
+#define isl_val_int_from_ui (*isl_pointers__.p_isl_val_int_from_ui)
|
||||
+#define isl_val_mul (*isl_pointers__.p_isl_val_mul)
|
||||
+#define isl_val_neg (*isl_pointers__.p_isl_val_neg)
|
||||
+#define isl_val_sub (*isl_pointers__.p_isl_val_sub)
|
||||
+
|
||||
typedef struct poly_dr *poly_dr_p;
|
||||
|
||||
typedef struct poly_bb *poly_bb_p;
|
||||
--- gcc/graphite.c.jj 2012-12-13 11:31:00.000000000 +0100
|
||||
+++ gcc/graphite.c 2012-12-14 13:40:44.155136961 +0100
|
||||
@@ -90,6 +90,34 @@ along with GCC; see the file COPYING3.
|
||||
#include "graphite-isl-ast-to-gimple.h"
|
||||
#include "graphite-sese-to-poly.h"
|
||||
|
||||
+__typeof (isl_pointers__) isl_pointers__;
|
||||
+
|
||||
+static bool
|
||||
+init_isl_pointers (void)
|
||||
+{
|
||||
+ void *h;
|
||||
+
|
||||
+ if (isl_pointers__.inited)
|
||||
+ return isl_pointers__.h != NULL;
|
||||
+ h = dlopen ("libisl.so.13", RTLD_LAZY);
|
||||
+ isl_pointers__.h = h;
|
||||
+ if (h == NULL)
|
||||
+ return false;
|
||||
+#define DYNSYM(x) \
|
||||
+ do \
|
||||
+ { \
|
||||
+ union { __typeof (isl_pointers__.p_##x) p; void *q; } u; \
|
||||
+ u.q = dlsym (h, #x); \
|
||||
+ if (u.q == NULL) \
|
||||
+ return false; \
|
||||
+ isl_pointers__.p_##x = u.p; \
|
||||
+ } \
|
||||
+ while (0)
|
||||
+ DYNSYMS
|
||||
+#undef DYNSYM
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
/* Print global statistics to FILE. */
|
||||
|
||||
static void
|
||||
@@ -285,6 +313,15 @@ graphite_transform_loops (void)
|
||||
if (parallelized_function_p (cfun->decl))
|
||||
return;
|
||||
|
||||
+ if (number_of_loops (cfun) <= 1)
|
||||
+ return;
|
||||
+
|
||||
+ if (!init_isl_pointers ())
|
||||
+ {
|
||||
+ sorry ("Graphite loop optimizations cannot be used");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
ctx = isl_ctx_alloc ();
|
||||
isl_options_set_on_error (ctx, ISL_ON_ERROR_ABORT);
|
||||
if (!graphite_initialize (ctx))
|
@ -209,7 +209,7 @@
|
||||
case "P-384":
|
||||
--- libgo/go/crypto/x509/x509.go.jj 2013-11-07 11:59:09.000000000 +0100
|
||||
+++ libgo/go/crypto/x509/x509.go 2014-03-05 15:27:37.022439437 +0100
|
||||
@@ -305,9 +305,6 @@ func getPublicKeyAlgorithmFromOID(oid as
|
||||
@@ -306,9 +306,6 @@ func getPublicKeyAlgorithmFromOID(oid as
|
||||
|
||||
// RFC 5480, 2.1.1.1. Named Curve
|
||||
//
|
||||
@ -219,7 +219,7 @@
|
||||
// secp256r1 OBJECT IDENTIFIER ::= {
|
||||
// iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3)
|
||||
// prime(1) 7 }
|
||||
@@ -320,7 +317,6 @@ func getPublicKeyAlgorithmFromOID(oid as
|
||||
@@ -321,7 +318,6 @@ func getPublicKeyAlgorithmFromOID(oid as
|
||||
//
|
||||
// NB: secp256r1 is equivalent to prime256v1
|
||||
var (
|
||||
@ -227,7 +227,7 @@
|
||||
oidNamedCurveP256 = asn1.ObjectIdentifier{1, 2, 840, 10045, 3, 1, 7}
|
||||
oidNamedCurveP384 = asn1.ObjectIdentifier{1, 3, 132, 0, 34}
|
||||
oidNamedCurveP521 = asn1.ObjectIdentifier{1, 3, 132, 0, 35}
|
||||
@@ -328,8 +324,6 @@ var (
|
||||
@@ -329,8 +325,6 @@ var (
|
||||
|
||||
func namedCurveFromOID(oid asn1.ObjectIdentifier) elliptic.Curve {
|
||||
switch {
|
||||
@ -236,7 +236,7 @@
|
||||
case oid.Equal(oidNamedCurveP256):
|
||||
return elliptic.P256()
|
||||
case oid.Equal(oidNamedCurveP384):
|
||||
@@ -342,8 +336,6 @@ func namedCurveFromOID(oid asn1.ObjectId
|
||||
@@ -343,8 +337,6 @@ func namedCurveFromOID(oid asn1.ObjectId
|
||||
|
||||
func oidFromNamedCurve(curve elliptic.Curve) (asn1.ObjectIdentifier, bool) {
|
||||
switch curve {
|
||||
@ -245,14 +245,14 @@
|
||||
case elliptic.P256():
|
||||
return oidNamedCurveP256, true
|
||||
case elliptic.P384():
|
||||
@@ -1373,7 +1365,7 @@ func CreateCertificate(rand io.Reader, t
|
||||
hashFunc = crypto.SHA1
|
||||
case *ecdsa.PrivateKey:
|
||||
@@ -1371,7 +1363,7 @@ func signingParamsForPrivateKey(priv int
|
||||
pubType = ECDSA
|
||||
|
||||
switch priv.Curve {
|
||||
- case elliptic.P224(), elliptic.P256():
|
||||
+ case elliptic.P256():
|
||||
hashFunc = crypto.SHA256
|
||||
signatureAlgorithm.Algorithm = oidSignatureECDSAWithSHA256
|
||||
sigAlgo.Algorithm = oidSignatureECDSAWithSHA256
|
||||
case elliptic.P384():
|
||||
--- libgo/go/crypto/elliptic/p224.go.jj 2012-11-15 18:26:57.000000000 +0100
|
||||
+++ libgo/go/crypto/elliptic/p224.go 2014-03-05 15:30:01.189430842 +0100
|
47
gcc5-libsanitize-aarch64-va42.patch
Normal file
47
gcc5-libsanitize-aarch64-va42.patch
Normal file
@ -0,0 +1,47 @@
|
||||
2015-01-22 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* asan/asan_allocator.h (kAllocatorSpace, kAllocatorSize):
|
||||
Set to 1T for __aarch64__.
|
||||
* sanitizer_common/sanitizer_platform.h
|
||||
(SANITIZER_CAN_USE_ALLOCATOR64): Set to 1 on __aarch64__
|
||||
if SANITIZER_WORDSIZE is 64.
|
||||
(SANITIZER_MMAP_RANGE_SIZE): Define to 1ULL << 42 for
|
||||
__aarch64__.
|
||||
|
||||
--- libsanitizer/asan/asan_allocator.h (revision 219833)
|
||||
+++ libsanitizer/asan/asan_allocator.h (working copy)
|
||||
@@ -100,6 +100,10 @@
|
||||
# if defined(__powerpc64__)
|
||||
const uptr kAllocatorSpace = 0xa0000000000ULL;
|
||||
const uptr kAllocatorSize = 0x20000000000ULL; // 2T.
|
||||
+# elif defined(__aarch64__)
|
||||
+// Valid only for 42-bit VA
|
||||
+const uptr kAllocatorSpace = 0x10000000000ULL;
|
||||
+const uptr kAllocatorSize = 0x10000000000ULL; // 1T.
|
||||
# else
|
||||
const uptr kAllocatorSpace = 0x600000000000ULL;
|
||||
const uptr kAllocatorSize = 0x40000000000ULL; // 4T.
|
||||
--- libsanitizer/sanitizer_common/sanitizer_platform.h (revision 219833)
|
||||
+++ libsanitizer/sanitizer_common/sanitizer_platform.h (working copy)
|
||||
@@ -79,7 +79,7 @@
|
||||
// For such platforms build this code with -DSANITIZER_CAN_USE_ALLOCATOR64=0 or
|
||||
// change the definition of SANITIZER_CAN_USE_ALLOCATOR64 here.
|
||||
#ifndef SANITIZER_CAN_USE_ALLOCATOR64
|
||||
-# if defined(__aarch64__) || defined(__mips64)
|
||||
+# if defined(__mips64)
|
||||
# define SANITIZER_CAN_USE_ALLOCATOR64 0
|
||||
# else
|
||||
# define SANITIZER_CAN_USE_ALLOCATOR64 (SANITIZER_WORDSIZE == 64)
|
||||
@@ -88,10 +88,10 @@
|
||||
|
||||
// The range of addresses which can be returned my mmap.
|
||||
// FIXME: this value should be different on different platforms,
|
||||
-// e.g. on AArch64 it is most likely (1ULL << 39). Larger values will still work
|
||||
+// e.g. on AArch64 it is most likely (1ULL << 42). Larger values will still work
|
||||
// but will consume more memory for TwoLevelByteMap.
|
||||
#if defined(__aarch64__)
|
||||
-# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 39)
|
||||
+# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 42)
|
||||
#else
|
||||
# define SANITIZER_MMAP_RANGE_SIZE FIRST_32_SECOND_64(1ULL << 32, 1ULL << 47)
|
||||
#endif
|
@ -4,7 +4,7 @@
|
||||
<a class="link" href="http://www.fsf.org/" target="_top">FSF
|
||||
</a>
|
||||
</p><p>
|
||||
+ Release 4.9.2
|
||||
+ Release 5.0.0
|
||||
+ </p><p>
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation
|
||||
@ -18,7 +18,7 @@
|
||||
- The API documentation, rendered into HTML, can be viewed online:
|
||||
+ The API documentation, rendered into HTML, can be viewed here:
|
||||
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
|
||||
+ <a class="link" href="api/index.html" target="_top">for the 4.9.2 release, local
|
||||
+ <a class="link" href="api/index.html" target="_top">for the 5.0.0 release, local
|
||||
+ </a>
|
||||
+ </p></li><li class="listitem"><p>
|
||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-3.4/index.html" target="_top">for the 3.4 release
|
@ -17,15 +17,15 @@
|
||||
#endif
|
||||
--- gcc/config/ia64/linux.h.jj 2011-01-03 13:02:11.462994522 +0100
|
||||
+++ gcc/config/ia64/linux.h 2011-01-04 18:14:10.931874160 +0100
|
||||
@@ -77,7 +77,7 @@ do { \
|
||||
@@ -76,7 +76,7 @@ do { \
|
||||
Signalize that because we have fde-glibc, we don't need all C shared libs
|
||||
linked against -lgcc_s. */
|
||||
#undef LINK_EH_SPEC
|
||||
-#define LINK_EH_SPEC ""
|
||||
+#define LINK_EH_SPEC "--no-add-needed "
|
||||
|
||||
/* Put all *tf routines in libgcc. */
|
||||
#undef LIBGCC2_HAS_TF_MODE
|
||||
#undef TARGET_INIT_LIBFUNCS
|
||||
#define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
|
||||
--- gcc/config/gnu-user.h.jj 2011-01-03 12:53:03.739057299 +0100
|
||||
+++ gcc/config/gnu-user.h 2011-01-04 18:14:10.932814884 +0100
|
||||
@@ -82,7 +82,7 @@ see the files COPYING3 and COPYING.RUNTI
|
22
gcc5-ppc-jit.patch
Normal file
22
gcc5-ppc-jit.patch
Normal file
@ -0,0 +1,22 @@
|
||||
2015-01-19 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
|
||||
Support the JIT by using 0 as the language type.
|
||||
|
||||
--- gcc/config/rs6000/rs6000.c
|
||||
+++ gcc/config/rs6000/rs6000.c
|
||||
@@ -25491,11 +25491,12 @@ rs6000_output_function_epilogue (FILE *file,
|
||||
use language_string.
|
||||
C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
|
||||
Java is 13. Objective-C is 14. Objective-C++ isn't assigned
|
||||
- a number, so for now use 9. LTO and Go aren't assigned numbers
|
||||
+ a number, so for now use 9. LTO, Go and JIT aren't assigned numbers
|
||||
either, so for now use 0. */
|
||||
if (lang_GNU_C ()
|
||||
|| ! strcmp (language_string, "GNU GIMPLE")
|
||||
- || ! strcmp (language_string, "GNU Go"))
|
||||
+ || ! strcmp (language_string, "GNU Go")
|
||||
+ || ! strcmp (language_string, "libgccjit"))
|
||||
i = 0;
|
||||
else if (! strcmp (language_string, "GNU F77")
|
||||
|| ! strcmp (language_string, "GNU Fortran"))
|
28
gcc5-pr64738.patch
Normal file
28
gcc5-pr64738.patch
Normal file
@ -0,0 +1,28 @@
|
||||
2015-01-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR go/64738
|
||||
* Makefile.am (AM_LDFLAGS): Remove -static-libgo flag.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
--- gotools/Makefile.am 2015-01-23 09:42:05.747471685 +0100
|
||||
+++ gotools/Makefile.am 2015-01-23 21:04:36.970202637 +0100
|
||||
@@ -38,7 +38,7 @@ endif
|
||||
GOCFLAGS = $(CFLAGS_FOR_TARGET)
|
||||
GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
|
||||
|
||||
-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs -static-libgo
|
||||
+AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
|
||||
GOLINK = $(GOCOMPILER) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
|
||||
|
||||
cmdsrcdir = $(srcdir)/../libgo/go/cmd
|
||||
--- gotools/Makefile.in 2015-01-23 09:42:05.724472081 +0100
|
||||
+++ gotools/Makefile.in 2015-01-23 21:04:44.940065201 +0100
|
||||
@@ -230,7 +230,7 @@ LIBGODEP = $(libgodir)/libgo.la
|
||||
# Use the compiler we just built.
|
||||
@NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET)
|
||||
GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
|
||||
-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs -static-libgo
|
||||
+AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
|
||||
GOLINK = $(GOCOMPILER) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
|
||||
cmdsrcdir = $(srcdir)/../libgo/go/cmd
|
||||
go_cmd_go_files = \
|
Loading…
Reference in New Issue
Block a user