This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: condition codes, haifa-sched and virtual-stack-vars
- From: law at redhat dot com
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Greg McGary <greg at mcgary dot org>, gcc at gcc dot gnu dot org
- Date: Wed, 30 Jan 2002 17:48:08 -0700
- Subject: Re: condition codes, haifa-sched and virtual-stack-vars
- Reply-to: law at redhat dot com
In message <orpu3r1km3.fsf@free.redhat.lsd.ic.unicamp.br>, Alexandre Oliva writ
es:
> On Jan 30, 2002, Greg McGary <greg@mcgary.org> wrote:
>
> > In the "movsi" expander, I added this bit:
>
> > if (REG_P (src)
> > && REGNO (src) >= FIRST_PSEUDO_REGISTER
> > && REGNO (src) <= LAST_VIRTUAL_REGISTER)
>
> I'd take the last condition out. Consider, for example, that you have
> a very large stack frame, such that a pseudo ends up having to be
> replaced with (plus (reg SP) (const_int VERY_LARGE_NUMBER))? Reload
> may end up using a scratch register to construct this address, and it
> will need an add to do that. Better be safe and consider any pseudo
> reloading risky.
>
>
> Other than that, I'm very happy it worked.
Likewise.
I had pondered similar solutions, but rejected them as imparing
optimization in too many ways. Some optimizers are more effective
when moves are "simple".
jeff