Re: cleanup tests failing on MIPS64
Adam Nemet writes: > For two testresults now the cleanup tests are failing in both gcc and g++: > > http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg01031.html > http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg00592.html > > I waited for another testresults because there were some bug fixes in this > area after the eh changes. > > Does somebody know what's going on? I'll look at it otherwise. I am not exactly sure what has exposed this but the bug seems to be old. can_throw_external in except.c does not look at the branch delay slot (second entry in a SEQUENCE) to determine whether the insn may throw or not. In gcc.dg/cleanup-8.c for example after inlining fn3, the trapping store is moved to the delay slot of abort, which is a nothrow function so we decide that fn2 can't throw and then ultimately remove the eh region around fn1 in fn0. Adam
Re: cleanup tests failing on MIPS64
Adam Nemet writes: > I am not exactly sure what has exposed this but the bug seems to be old. > can_throw_external in except.c does not look at the branch delay slot (second > entry in a SEQUENCE) to determine whether the insn may throw or not. > > In gcc.dg/cleanup-8.c for example after inlining fn3, the trapping store is > moved to the delay slot of abort, which is a nothrow function so we decide > that fn2 can't throw and then ultimately remove the eh region around fn1 in > fn0. I forgot to mention that I started testing a patch. Adam
Re: cleanup tests failing on MIPS64
The same tests now fail on hppa. This is PR 39651. I'm fairly certain this was introduced by the following change: 2009-03-28 Jan Hubicka Merge from pretty-ipa: 2009-03-27 Jan Hubicka * cgraph.c (dump_cgraph_node): Add replace output flag by process. ... On Sat, 11 Apr 2009, Adam Nemet wrote: > Adam Nemet writes: > > For two testresults now the cleanup tests are failing in both gcc and g++: > > > > http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg01031.html > > http://gcc.gnu.org/ml/gcc-testresults/2009-04/msg00592.html > > > > I waited for another testresults because there were some bug fixes in this > > area after the eh changes. > > > > Does somebody know what's going on? I'll look at it otherwise. > > I am not exactly sure what has exposed this but the bug seems to be old. > can_throw_external in except.c does not look at the branch delay slot (second > entry in a SEQUENCE) to determine whether the insn may throw or not. > > In gcc.dg/cleanup-8.c for example after inlining fn3, the trapping store is > moved to the delay slot of abort, which is a nothrow function so we decide > that fn2 can't throw and then ultimately remove the eh region around fn1 in > fn0. The same could occur on hppa. Dave -- J. David Anglin dave.ang...@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Re: cleanup tests failing on MIPS64
John David Anglin writes: > The same tests now fail on hppa. This is PR 39651. I'm fairly certain > this was introduced by the following change: I put this PR in the checkin that was just approved on gcc-patc...@. Please close the bug if it fixes the failures on hppa too. Adam