Commit 5e6aa513 by Richard Kenner

(find_reloads): Ignore alternatives that will not be reloadable due to

PREFERRED_RELOAD_CLASS.

From-SVN: r7257
parent a2cd7b45
...@@ -2953,6 +2953,17 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) ...@@ -2953,6 +2953,17 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
&& operand_mode[i] != VOIDmode) && operand_mode[i] != VOIDmode)
losers++; losers++;
/* If we can't reload this value at all, reject this
alternative. Note that we could also lose due to
LIMIT_RELOAD_RELOAD_CLASS, but we don't check that
here. */
if (! CONSTANT_P (operand)
&& (PREFERRED_RELOAD_CLASS (operand,
(enum reg_class) this_alternative[i])
== NO_REGS))
bad = 1;
/* We prefer to reload pseudos over reloading other things, /* We prefer to reload pseudos over reloading other things,
since such reloads may be able to be eliminated later. since such reloads may be able to be eliminated later.
If we are reloading a SCRATCH, we won't be generating any If we are reloading a SCRATCH, we won't be generating any
......
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