This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/13159] [3.4 Regression] FAIL: gcc.c-torture/compile/930621-1.c
- From: "roger at eyesopen dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Dec 2003 16:14:47 -0000
- Subject: [Bug optimization/13159] [3.4 Regression] FAIL: gcc.c-torture/compile/930621-1.c
- References: <20031122025507.13159.cato@df.lth.se>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From roger at eyesopen dot com 2003-12-26 16:14 -------
I believe that the real bug is in mark_irreducible_loops, and only exposed as
a result of my clean-up to simplify_replace_rtx. For example, in Kazu's
reduced testcase, GCC never calls simplify_replace_rtx! Instead, the problem
is probably that "unswitch_single_loop" is attempting to unswitch an irreducible
loop. Supporting evidence for this are the "invalid reads" reported by valgrind
in mark_irreducible_loops when compiling the reduced test case at -O3, on line
1250 of cfgloopanal.c. At this point we have sidx=7, closed[sidx]=1 and
mri[sidx]=-1, so clearly closed[mri[sidx]] isn't what the author intended!
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13159