[forwarded from http://bugs.debian.org/201550] regression from 3.2, rechecked with 3.3 CVS 20030626 and HEAD 20030722 b$ gcc -c -O2 toto.i ../../../src/H5Tconv.c: In function `H5T_conv_vlen': ../../../src/H5Tconv.c:2372: internal compiler error: in verify_local_live_at_start, at flow.c:575 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Created attachment 4453 [details] preprocessed source
Created attachment 4462 [details] Reduced to 1113 lines
I have reduced it down to 1113 lines for the mainline (20030723).
Postponed until GCC 3.3.3.
Created attachment 5143 [details] Reduced to 30 lines
The regression reported in PR 11634 still exists in the 3.3-branch but was fixed on the mainline with this patch: 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com> * gcse.c (replace_one_set): New function. (pre_insert_copy_insn): Change the order of copying to make copy propagation discover additional PRE opportunities. The test case demonstrates another problem For about 8% of the cross compilers that were built for my regression hunt there was an ICE in common_handle_option. After the patch that fixes the ICE in verify_local_live_at_start, the compiler sometimes (about 10% of the time) acts as if random options had been specified.
The intermittent ICEs in common_handle_option and use of random options also happens with a compiler built for i686-unknown-linux-gnu. There seem to be more of these after September 20. These happen for the short test case; with the hppa cross compiler they happen with the short test case and also with the original test case.
I've posted a patch for the underlying cause of the original problem: http://gcc.gnu.org/ml/gcc-patches/2003-11/msg02193.html Mostafa's GCSE change just hides the problem on mainline but doesn't cure it.
Roger: I think you're right that split_all_insns_noflow will eventually disappear, and so I will approve your patch for mainline. Ask Gabriel about 3.3.
Subject: Re: [3.3/3.4 regression] [hppa] ICE in verify_local_live_at_start, at flow.c:555 "zack at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes: | Roger: I think you're right that split_all_insns_noflow will eventually | disappear, and so I will approve your patch for mainline. Ask | Gabriel about 3.3. OK there too. Thanks, -- Gaby
Subject: Bug 11634 CVSROOT: /cvs/gcc Module name: gcc Changes by: sayle@gcc.gnu.org 2003-12-02 01:43:58 Modified files: gcc : ChangeLog recog.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20031201-2.c Log message: PR optimization/11634 * recog.c (split_insn): Factor test of INSN_P and handling of set_noop_p out of here into the two callers. (split_all_insns): Add INSN_P test and set_noop_p handling here. If deleting a no-op set after reload that has a REG_UNUSED note, mark the basic block as changed and recalculate life information. (split_all_insns_noflow): Add INSN_P test and set_noop_p handling here. * gcc.dg/20031201-2.c: New test case. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1888&r2=2.1889 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/recog.c.diff?cvsroot=gcc&r1=1.188&r2=1.189 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3217&r2=1.3218 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20031201-2.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
Subject: Bug 11634 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: sayle@gcc.gnu.org 2003-12-02 04:36:09 Modified files: gcc : ChangeLog recog.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20031201-2.c Log message: PR optimization/11634 * recog.c (split_insn): Factor test of INSN_P and handling of set_noop_p out of here into the two callers. (split_all_insns): Add INSN_P test and set_noop_p handling here. If deleting a no-op set after reload that has a REG_UNUSED note, mark the basic block as changed and recalculate life information. (split_all_insns_noflow): Add INSN_P test and set_noop_p handling here. * gcc.dg/20031201-2.c: New test case. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.815&r2=1.16114.2.816 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/recog.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.168.2.2&r2=1.168.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2261.2.320&r2=1.2261.2.321 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20031201-2.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1
Fixed applied for 3.3.3.
*** Bug 15368 has been marked as a duplicate of this bug. ***