Subject: Re: tools build on ELF mac68k
To: None <thorpej@wasabisystems.com>
From: Matthew Fredette <fredette@MIT.EDU>
List: tech-toolchain
Date: 12/06/2001 13:13:35
>  > I think what needs to happen is that strength_reduce needs to call
>  > a version of reg_used_between_p that knows about "loop insn order".
> 
> I think this has been fixed in gcc-3.0.  Looking at an old'ish
> gcc-current tree I have, I see the following:
> 
> Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
> 
>         * loop.c (strength_reduce): Don't call reg_used_between_p if the
>         insn from BL2 is after the insn from BL.
> 
> The change was committed by Jeff Law in rev 1.186 of that file.  The
> change is included below.

[deletia]

Sweet.  Looks exactly on point.  This change jives with my super-crude
understanding of how things work, and with it, the original ch.c
compiles.  I compared the patched-cc1-original-ch.c assembly output to
the unpatched-cc1-stopgap-ch.c assembly output and the differences
make sense to me (strength reduction on `desc' within the for loop is
now visible.)

Now what?  Should the patch just be committed to our gcc sources?

Matt

--
Matt Fredette
http://mit.edu/fredette/www