Commit b24884cd by Jeff Law

flow.c (find_auto_inc): Also make sure there aren't any sets of the incremented…

flow.c (find_auto_inc): Also make sure there aren't any sets of the incremented register between the...

        * flow.c (find_auto_inc): Also make sure there aren't
        any sets of the incremented register between the memory
        reference and increment insn.

From-SVN: r11682
parent 3066b88a
......@@ -2231,7 +2231,11 @@ find_auto_inc (needed, x, insn)
else if (GET_CODE (q) == REG
/* PREV_INSN used here to check the semi-open interval
[insn,incr). */
&& ! reg_used_between_p (q, PREV_INSN (insn), incr))
&& ! reg_used_between_p (q, PREV_INSN (insn), incr)
/* We must also check for sets of q as q may be
a call clobbered hard register and there may
be a call between PREV_INSN (insn) and incr. */
&& ! reg_set_between_p (q, PREV_INSN (insn), incr))
{
/* We have *p followed sometime later by q = p+size.
Both p and q must be live afterward,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment