(global_alloc): Mark regs assigned to SCRATCH as used by more than
just local alloc. From-SVN: r8091
This commit is contained in:
parent
2c793b3251
commit
0dfa4517b7
12
gcc/global.c
12
gcc/global.c
@ -446,6 +446,18 @@ global_alloc (file)
|
|||||||
if (regs_ever_live[i])
|
if (regs_ever_live[i])
|
||||||
local_reg_n_refs[i] = 0;
|
local_reg_n_refs[i] = 0;
|
||||||
|
|
||||||
|
/* Likewise for regs used in a SCRATCH. */
|
||||||
|
for (i = 0; i < scratch_list_length; i++)
|
||||||
|
if (scratch_list[i])
|
||||||
|
{
|
||||||
|
int regno = REGNO (scratch_list[i]);
|
||||||
|
int lim = regno + HARD_REGNO_NREGS (regno, GET_MODE (scratch_list[i]));
|
||||||
|
int j;
|
||||||
|
|
||||||
|
for (j = regno; j < lim; j++)
|
||||||
|
local_reg_n_refs[j] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Allocate the space for the conflict and preference tables and
|
/* Allocate the space for the conflict and preference tables and
|
||||||
initialize them. */
|
initialize them. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user