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: Your recent reload changes


  In message <200008222125.WAA31259@phal.cygnus.co.uk>you write:
  > > Reload 3: R1_REGS, RELOAD_FOR_INPUT_ADDRESS (opnum = 1), can't combine, 
  > > secondar
  > > y_reload_p
  > >         reload_reg_rtx: (reg:SI 1 %r1)
  > 
  > Looking at the reload_insi pattern of the pa, I see that it applies to all
  > destinations of all register classes, and is used with any source that is
  > not a hard register.  Couldn't you make this pattern restrictive, so that
  > it only triggers when you genuinely need a scratch register?
  > Reload is perfectly capable of dealing with intermediary registers on its
  > own.
Sometimes we need an intermediate, sometimes we need a scratch.  Find a way
to rewrite it to handle both with a more restrictive pattern and I'll happily
use it.

Not surprisingly it's been tried multiple times, and every time we've come
back to the code you see in pa.md/pa.c.  Good luck.


jeff


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