This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA:doc] fix PR35492, reload replacing pseudos with constants without checking the pattern condition
- From: Ian Lance Taylor <iant at google dot com>
- To: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 14 Jul 2008 15:04:58 -0700
- Subject: Re: [RFA:doc] fix PR35492, reload replacing pseudos with constants without checking the pattern condition
- References: <200807140043.m6E0ht2Y022679@ignucius.se.axis.com>
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