On Fri, Oct 25, 2013 at 05:19:06PM +0200, Martin Jambor wrote: > 2013-10-23 Martin Jambor <mjam...@suse.cz> > > PR rtl-optimization/10474 > * ira.c (find_moveable_pseudos): Do not calculate dominance info > nor df analysis. > (interesting_dest_for_shprep): New function. > (split_live_ranges_for_shrink_wrap): Likewise. > (ira): Calculate dominance info and df analysis. Call > split_live_ranges_for_shrink_wrap. > > testsuite/ > * gcc.dg/pr10474.c: New testcase. > * gcc.dg/ira-shrinkwrap-prep-1.c: Likewise. > * gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
Unfortunately this patch breaks i686-linux bootstrap, in r204204 compare passes, while in r204205 I'm getting .bad_compare gcc/fortran/module.o differs gcc/ipa.o differs gcc/go/gogo.o differs gcc/go/statements.o differs Most likely combine.o is miscompiled, but haven't verified that yet. The way I'm configuring this on x86_64-linux is: mkdir ~/hbin cat > ~/hbin/as <<\EOF2 #!/bin/sh exec /usr/bin/as --32 "$@" EOF2 cat > ~/hbin/g++ <<\EOF2 #!/bin/sh exec /usr/bin/g++ -m32 "$@" EOF2 cat > ~/hbin/gcc <<\EOF2 #!/bin/sh exec /usr/bin/gcc -m32 "$@" EOF2 cat > ~/hbin/ld <<\EOF2 #!/bin/sh case "$*" in --version) cat <<\EOF GNU ld version 2.20.52.0.1-10.fc17 20100131 Copyright 2012 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. EOF exit 0;; esac exec /usr/bin/ld -m elf_i386 -L /usr/lib/ "$@" EOF2 chmod 755 ~/hbin/* PATH=~/hbin:$PATH i386 ../configure --enable-languages=all,obj-c++,lto,go --enable-checking=yes,rtl PATH=~/hbin:$PATH i386 make -j48 Jakub