[PowerPC] Fix PR25176: Array_3 bytecode->native test fail

Alan Modra amodra@bigpond.net.au
Thu Dec 1 23:14:00 GMT 2005


On Thu, Dec 01, 2005 at 03:02:02PM +0000, Andrew Haley wrote:
> Alan Modra writes:
>  > On Thu, Dec 01, 2005 at 12:40:42PM +0000, Andrew Haley wrote:
>  > > There's this code in expand_function_end:
>  > > 
>  > >   clear_pending_stack_adjust ();
>  > >   do_pending_stack_adjust ();
>  > > 
>  > >   /* @@@ This is a kludge.  We want to ensure that instructions that
>  > >      may trap are not moved into the epilogue by scheduling, because
>  > >      we don't always emit unwind information for the epilogue.
>  > >      However, not all machine descriptions define a blockage insn, so
>  > >      emit an ASM_INPUT to act as one.  */
>  > >   if (flag_non_call_exceptions)
>  > >     emit_insn (gen_rtx_ASM_INPUT (VOIDmode, ""));
>  > > 
>  > > which should be executed?
>  > > 
>  > > Is the problem that this is the wrong place for PPC?
>  > 
>  > Interesting.  I see the asm in .00.expand and .01.eunotes, and it is in
>  > the right place.  However, there is no hint of it in .02.sibling.
>  > Something's eaten it, and I'm too tired to try tracking it down tonight.
> 
> Ah.  :-)
> 
> Well, if it's eating *this* blockage, its quite likely eating other
> blockages as well.  And that is a Bad Thing...

delete_unreachable_blocks is removing it.  OK, so I was tired last
night..  The asm *isn't* in the right place.  I think it needs to be
moved to just after the return label.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Gcc-patches mailing list