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]
Other format: [Raw text]

Re: [RFA:doc] fix PR35492, reload replacing pseudos with constants without checking the pattern condition


Hans-Peter Nilsson <hans-peter.nilsson@axis.com> writes:

> Index: doc/md.texi
> ===================================================================
> --- doc/md.texi	(revision 137755)
> +++ doc/md.texi	(working copy)
> @@ -163,7 +163,9 @@ individual insn, and only after the insn
>  recognition template.  The insn's operands may be found in the vector
>  @code{operands}.  For an insn where the condition has once matched, it
>  can't be used to control register allocation, for example by excluding
> -certain hard registers or hard register combinations.
> +certain hard registers or hard register combinations.  Also, the
> +condition must not be false for a set of operands where the constraints
> +of the pattern match.

This does not seem right to me.  It seems to make the condition nearly
meaningless.  Certainly the condition is permitted to say that an
instruction is only available on certain machines, regardless of
whether the constraints match.  If you mean your additional sentence
to apply only in the case where "the condition has once matched," then
I'm not sure your sentence adds anything to the preceding sentence
("by excluding certain hard registers") unless you want to add a
clause like "or constants."

I may well be missing something here, but this doens't seem right as
is.

Ian


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