This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Useless patterns in alpha.md
- To: Jeffrey A Law <law at cygnus dot com>
- Subject: Re: Useless patterns in alpha.md
- From: Bernd Schmidt <bernds at pathia dot cygnus dot co dot uk>
- Date: Sun, 28 Nov 1999 11:20:09 +0000 (GMT)
- cc: gcc-patches at gcc dot gnu dot org
> > That patch tries to ensure that register elimination is only done inside
> > operands, not on those parts of the rtl which make up the structure of
> > an insn.
> Thanks. Presumably this works because the alpha does not allow an
> operand that looks like
>
> (plus (mult (frame-pointer) (...)) (...)))
>
> ie, the PLUS and MULT are explicit in the RTL patterns. Right?
Exactly. If the plus and the mult are part of the pattern, then they won't
be changed now. It used to be possible that register elimination would
change a pattern, making it unrecognizable.
(If the plus and mult are inside an operand, it can only be an
address_operand, and register elimination can change it safely since
find_reloads_address can fix it up. But that's not the case here.)
Bernd