This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-2.92.02 19980905 (m68k-next-nextstep3): Address of hoisted load clobbered
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: egcs-2.92.02 19980905 (m68k-next-nextstep3): Address of hoisted load clobbered
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 09 Sep 1998 21:45:01 -0600
- cc: Toon Moene <toon at moene dot indiv dot nluug dot nl>, egcs at cygnus dot com, egcs-patches at cygnus dot com
- Reply-To: law at cygnus dot com
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