(choose_reload_regs): When setting reg_has_output_reload,
loop over multiple regs only for hard reg. Set reg_is_output_reload in separate loop. From-SVN: r2204
This commit is contained in:
parent
4323a0e11e
commit
372e033b8f
@ -4634,12 +4634,18 @@ choose_reload_regs (insn, avoid_return_reg)
|
||||
&& reload_reg_rtx[r] != 0)
|
||||
{
|
||||
register int nregno = REGNO (reload_out[r]);
|
||||
int nr = HARD_REGNO_NREGS (nregno, reload_mode[r]);
|
||||
int nr = 1;
|
||||
|
||||
if (nregno < FIRST_PSEUDO_REGISTER)
|
||||
nr = HARD_REGNO_NREGS (nregno, reload_mode[r]);
|
||||
|
||||
while (--nr >= 0)
|
||||
reg_has_output_reload[nregno + nr] = 1;
|
||||
|
||||
if (i >= 0)
|
||||
{
|
||||
reg_has_output_reload[nregno + nr] = 1;
|
||||
if (i >= 0)
|
||||
nr = HARD_REGNO_NREGS (spill_regs[i], reload_mode[r]);
|
||||
while (--nr >= 0)
|
||||
SET_HARD_REG_BIT (reg_is_output_reload, spill_regs[i] + nr);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user