egcs-2.92.02 19980905 (m68k-next-nextstep3): Address of hoisted load clobbered

Jeffrey A Law law@cygnus.com
Wed Sep 9 22:55:00 GMT 1998


  In message < 19980909005126.A21382@dot.cygnus.com >you write:
  > On Tue, Sep 08, 1998 at 07:20:25PM +0200, Toon Moene wrote:
  > > An excerpt from the assmebly output, around the unrolled inner loop:
  > > 
  > >         fmoved a4@,fp1		<-- Load hoisted
  > >         movel d4,d0
  > >         movel sp@(60),a4	<-- Bleeeccchhhh
  > >         mulsl a4@,d0
  > > 	...
  > >         fmoved fp1,a4@		<-- Store sunk
  > > 
  > > which, of course, results in a Segmentation Violation.
  > 
  > I'm not sure who is at fault here, and request guidance from the 
  > gods of reload.  The problem is shared rtl.  It may be solved with
  > the following patch
  > 
  > 	* loop.c (load_mems): Copy rtx for output mem.
Can you say a little bit more about why the shared rtl is causing a
problem?  MEMs (as Mark pointed out) don't have as strict rules as
other objects.  It's hard to tell what the right thing to do is without
more information.

jeff



More information about the Gcc mailing list