Commit 041d7180 by Jeff Law

regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's defined to avoid useless work.

        * regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's
        defined to avoid useless work.

        * combine.c (find_split_point): Try to split SET_DEST
        just like we do for SET_SRC.

From-SVN: r10790
parent a295d331
......@@ -2542,6 +2542,11 @@ find_split_point (loc, insn)
if (split && split != &SET_SRC (x))
return split;
/* See if we can split SET_DEST as it stands. */
split = find_split_point (&SET_DEST (x), insn);
if (split && split != &SET_DEST (x))
return split;
/* See if this is a bitfield assignment with everything constant. If
so, this is an IOR of an AND, so split it into that. */
if (GET_CODE (SET_DEST (x)) == ZERO_EXTRACT
......
......@@ -674,6 +674,10 @@ regclass (f, nregs)
being used in such addresses. */
if ((0
#ifdef SECONDARY_RELOAD_CLASS
|| (SECONDARY_RELOAD_CLASS (BASE_REG_CLASS, m, r)
!= NO_REGS)
#else
#ifdef SECONDARY_INPUT_RELOAD_CLASS
|| (SECONDARY_INPUT_RELOAD_CLASS (BASE_REG_CLASS, m, r)
!= NO_REGS)
......@@ -682,6 +686,7 @@ regclass (f, nregs)
|| (SECONDARY_OUTPUT_RELOAD_CLASS (BASE_REG_CLASS, m, r)
!= NO_REGS)
#endif
#endif
)
&& ! auto_inc_dec_reg_p (r, m))
forbidden_inc_dec_class[i] = 1;
......
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