This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A patch for local register allocation.
- To: hjl at lucon dot org (H.J. Lu)
- Subject: Re: A patch for local register allocation.
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 21 May 1998 00:00:58 -0600
- cc: egcs at cygnus dot com, wilson at cygnus dot com
- Reply-To: law at cygnus dot com
In message <m0ycOHI-000268C@ocean.lucon.org>you write:
> > Is this patch necessary if the conditional move instructions are
> > rewritten to have the compare & conditional move within the same
> > insn before reload?
>
> I have looked into it. It is very hard to implement it right on
> x86, at least for me. I believe the bug is in update_equiv_regs
> since I think it is a bad idea to insert an insn bewteen the cc0
> setter and the next cc0 user. It looks like a generic bug to me.
The ppro cmove patterns *must* be written in the manner that
Jim suggested. Fixing local-alloc is not the solution. Trying to
fix this in local-alloc is just going to be a waste of your time.
The problems with conditional move patterns on the x86 are in the
reload phase.
If you can not guarantee that no input reloads will ever be needed,
then the cmove patterns must do the compare & conditional move
together until after reload has completed. And, if the patterns are
written that way, then the local-alloc patch is not necessary to
fix any conditional move bugs.
jeff