This is the mail archive of the gcc-patches@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: Useless patterns in alpha.md


>   > 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


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