This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR middle-end/8408
> > (validate_pattern): mark it as lvalue.
>
> Why is this part required?
Because otherwise the following warning triggers a bunch of time:
/* Allowing non-lvalues in destinations -- particularly CONST_INT --
while not likely to occur at runtime, results in less efficient
code from insn-recog.c. */
if (set
&& pred_name[0] != '\0'
&& allows_non_lvalue)
{
message_with_line (pattern_lineno,
"warning: destination operand %d allows non-lvalue",
XINT (pattern, 0));
}
> The other part is definitely required. It's simply amazing that
> we've not noticed it until now.
I couldn't believe it either :-)
--
Eric Botcazou