This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]