This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Your recent reload changes
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: Your recent reload changes
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 22 Aug 2000 15:29:53 -0600
- cc: rth at cygnus dot com, gcc at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
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