This is the mail archive of the
mailing list for the GCC project.
Re: PATCH to hoist loads/stores out of loops
First off, I think the patch is first-rate. I don't actually think it
is something that ought to go onto the release branch, but definitely
on to the mainline.
On Mon, Jul 20, 1998 at 05:19:59PM -0700, Mark Mitchell wrote:
> Actually, the code I submitted does do this. What, you say, it didn't
> when you tried it? Oops, I forgot to tell you that I haven't yet
> implemented C's `restrict'.
Actually, alias.c knows all about Fortran aliasing, so nothing else
ought to be required in that regard.
Tracing the problem a bit, I see that while all the address calculation
for `c(j,i)' gets moved out of the loop, n_times_set for the base reg
is still 1. Which of course means that the reg is not invariant_p,
which means your code is disabled.
I've no idea if your patch broke this or not; probably it never worked
quite right, only no one ever noticed.
I'll poke on this a bit.