(find_reloads) [SMALL_REGISTER_CLASSES]:
Don't use preferred_class for a multiword register. From-SVN: r2815
This commit is contained in:
parent
33f3c4c086
commit
5aa14feece
|
@ -2685,11 +2685,18 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
|
||||||
Don't bother with this if this alternative will accept this
|
Don't bother with this if this alternative will accept this
|
||||||
operand.
|
operand.
|
||||||
|
|
||||||
|
Don't do this for a multiword operand, if
|
||||||
|
we have to worry about small classes, because making reg groups
|
||||||
|
harder to allocate is asking for trouble.
|
||||||
|
|
||||||
Don't do this if the preferred class has only one register
|
Don't do this if the preferred class has only one register
|
||||||
because we might otherwise exhaust the class. */
|
because we might otherwise exhaust the class. */
|
||||||
|
|
||||||
|
|
||||||
if (! win && this_alternative[i] != (int) NO_REGS
|
if (! win && this_alternative[i] != (int) NO_REGS
|
||||||
|
#ifdef SMALL_REGISTER_CLASSES
|
||||||
|
&& GET_MODE_SIZE (operand_mode[i]) <= UNITS_PER_WORD
|
||||||
|
#endif
|
||||||
&& reg_class_size[(int) preferred_class[i]] > 1)
|
&& reg_class_size[(int) preferred_class[i]] > 1)
|
||||||
{
|
{
|
||||||
if (! reg_class_subset_p (this_alternative[i],
|
if (! reg_class_subset_p (this_alternative[i],
|
||||||
|
|
Loading…
Reference in New Issue