Commit 0bd83abd by Jeffrey A Law Committed by Jeff Law

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
parent b22b9b3e
Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com) 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. * rs6000.md (*movsi_got_internal_mem): New pattern.
(*movsi_got_internal_mem splitter): New define_split. (*movsi_got_internal_mem splitter): New define_split.
......
...@@ -1714,17 +1714,12 @@ block_alloc (b) ...@@ -1714,17 +1714,12 @@ block_alloc (b)
{ {
if (GET_CODE (qty_scratch_rtx[q]) == REG) if (GET_CODE (qty_scratch_rtx[q]) == REG)
abort (); 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_block[scratch_index] = b;
scratch_list[scratch_index++] = qty_scratch_rtx[q]; 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;
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment