(reload) [SMALL_REGISTER_CLASSES]: When adding an extra need if the insn uses the function value return register...
(reload) [SMALL_REGISTER_CLASSES]: When adding an extra need if the insn uses the function value return register, likewise add an extra single-reg need for each class in which the insn needs a group. From-SVN: r3141
This commit is contained in:
parent
8bfd209472
commit
9e859f7e00
@ -1299,14 +1299,12 @@ reload (first, global, dumpfile)
|
|||||||
for (i = 0; i < N_REG_CLASSES; i++)
|
for (i = 0; i < N_REG_CLASSES; i++)
|
||||||
if (TEST_HARD_REG_BIT (reg_class_contents[i], r))
|
if (TEST_HARD_REG_BIT (reg_class_contents[i], r))
|
||||||
{
|
{
|
||||||
if (insn_needs[i] > 0)
|
/* ??? It's not clear what is really
|
||||||
|
right to do if this insn needs a group.
|
||||||
|
But maybe that cannot happen. */
|
||||||
|
if (insn_needs[i] > 0 || insn_groups[i] > 0)
|
||||||
insn_needs[i]++;
|
insn_needs[i]++;
|
||||||
if (insn_groups[i] > 0
|
|
||||||
&& nregs > 1)
|
|
||||||
inc_groups = 1;
|
|
||||||
}
|
}
|
||||||
if (inc_groups)
|
|
||||||
insn_groups[i]++;
|
|
||||||
}
|
}
|
||||||
#endif /* SMALL_REGISTER_CLASSES */
|
#endif /* SMALL_REGISTER_CLASSES */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user