This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: missing conditional propagation in cprop.c pass
>
> Nobody mentioned this so I might be way off but cc doesn't get (minus
> (reg r684) (const_int 0)). It gets the `condition codes` modification as
> a consequence of the subtraction.
>
Hi Paulo,
According to section "comparison operations" in internal:
"The comparison operators may be used to compare the condition codes (cc0)
against zero, as in (eq (cc0) (const_int 0)). Such a construct
actually refers to
the result of the preceding instruction in which the condition codes were set."
and the result of preceding instruction here is the result of the
(compare: r684, 0),
which according to the definition:
"
(compare:m x y)
Represents the result of subtracting y from x for purposes of comparison."
I'm not sure if I've misunderstood any thing and please comment.
Thanks very much.
--
Best Regards.