local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions are shared.
* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions are shared. From-SVN: r16147
This commit is contained in:
parent
b22b9b3ef2
commit
0bd83abd44
2 changed files with 6 additions and 8 deletions
|
@ -1,5 +1,8 @@
|
|||
Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
|
||||
are shared.
|
||||
|
||||
* rs6000.md (*movsi_got_internal_mem): New pattern.
|
||||
(*movsi_got_internal_mem splitter): New define_split.
|
||||
|
||||
|
|
|
@ -1714,17 +1714,12 @@ block_alloc (b)
|
|||
{
|
||||
if (GET_CODE (qty_scratch_rtx[q]) == REG)
|
||||
abort ();
|
||||
PUT_CODE (qty_scratch_rtx[q], REG);
|
||||
REGNO (qty_scratch_rtx[q]) = qty_phys_reg[q];
|
||||
|
||||
qty_scratch_rtx[q] = gen_rtx (REG, GET_MODE (qty_scratch_rtx[q]),
|
||||
qty_phys_reg[q]);
|
||||
|
||||
scratch_block[scratch_index] = b;
|
||||
scratch_list[scratch_index++] = qty_scratch_rtx[q];
|
||||
|
||||
/* Must clear the USED field, because it will have been set by
|
||||
copy_rtx_if_shared, but the leaf_register code expects that
|
||||
it is zero in all REG rtx. copy_rtx_if_shared does not set the
|
||||
used bit for REGs, but does for SCRATCHes. */
|
||||
qty_scratch_rtx[q]->used = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue