Created attachment 23255 [details] ice.i 32-bit powerpc64-linux --with-cpu=default32 bootstrap on the trunk fails with ICE in queue_insn, suspect change are the recent -fcompare-debug scheduler changes. ./cc1 -m32 -g -O2 ice.i -quiet -fprofile-use ../../gcc/cfganal.c: In function ‘find_unreachable_blocks’: ../../gcc/cfganal.c:327:1: internal compiler error: in queue_insn, at haifa-sched.c:1322 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. can be reproduced even with cross-compiler.
Created attachment 23256 [details] ice.gcda The corresponding *.gcda file.
Doesn't fail with ./cc1 -m32 -O2 ice.i -quiet -fprofile-use The ICE is because queue_insn is called with a DEBUG_INSN.
Reverting the r169513 change fixes the ICE. To reproduce, just a --target=powerpc64-linux --enable-languages=c cross is enough, no need to bother with cross-binutils etc. Alex, could you please have a look at this?
Also seen on s390x: https://bugzilla.redhat.com/show_bug.cgi?id=675711
Mine
Created attachment 23317 [details] Patch that fixes the bug Here's a patch that fixes the problem. Jakub, is it easy for you to test it on the affected platforms? Please? :-) TIA,
*** Bug 47630 has been marked as a duplicate of this bug. ***
(In reply to comment #6) > Here's a patch that fixes the problem. Jakub, is it easy for you to test it on > the affected platforms? Please? :-) TIA, Profiledootstrapped/regtested on x86_64-linux, i686-linux and powerpc64-linux (64-bit), profiledbootstrapped so far on powerpc-linux (regtest still pending).
build of gcc-4.6.0-0.7.fc15 fails on s390, s390x looks good this time. gcc-4.6.0-0.5.fc15 is in the buildroot, but the problem is in the freshly built gcc and not in the one from buildroot if I understand it correctly. for build logs please see http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=302436
Created attachment 23371 [details] ice.i.bz2 For the s390-linux ICE, which is still present on the current trunk: bunzip2 ice.i.bz2 ../configure --target s390-linux --enable-languages=c gcc/cc1 -O2 -g -m31 -fprofile-use -march=z9-109 -mtune=z10 ice.i
Created attachment 23372 [details] ice.gcda Corresponding ice.gcda.
The ICE happens even with the #c6 patch applied on top of today's trunk.
On s390x-linux the profiledbootstrap actually fails the same way too apparently (again, with #c6 patch applied).
Created attachment 23390 [details] Patch that kills the bug harder It turns out that deps from other blocks wouldn't always have tick 0, and debug insns other than the first could have deps other than their immediate preds, that would cause them to be queue for a later tick as well. But then, why bother? If all dependencies of a debug insns are met, just add it to the ready set, without even computing the tick it would get from its deps. Like this patch, that supersedes the earlier on. Jakub, can you give it a spin on the affected platforms, please? I'm bootstrapping it on x86_64-linux-gnu and i686-linux-gnu now.
(In reply to comment #14) > Created attachment 23390 [details] > Patch that kills the bug harder While with the previous patch gcc didn't profiledbootstrap on s390-linux, nor apparently s390x-linux and ppc-linux too (yet bootstrap went fine), with this patch instead of the previous one gcc successfully profiledbootstrapped on {x86_64,i686,ppc,ppc64,s390,s390x}-linux with no regressions against the bootstrap regtest results without that patch.
*** Bug 47512 has been marked as a duplicate of this bug. ***
Author: aoliva Date: Sat Feb 19 20:59:23 2011 New Revision: 170324 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170324 Log: PR debug/47620 PR debug/47630 * haifa-sched.c (fix_tick_ready): Skip tick computation for debug insns. Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c
Fixed