This is the mail archive of the gcc@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: A patch for local register allocation.




  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


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