Commit 2a81034f by Jim Wilson

(block_alloc): Don't attempt to allocate a

SCRATCH if it will not fit in scratch_list.

From-SVN: r5058
parent cf0e292f
...@@ -1099,6 +1099,9 @@ block_alloc (b) ...@@ -1099,6 +1099,9 @@ block_alloc (b)
int max_uid = get_max_uid (); int max_uid = get_max_uid ();
int *qty_order; int *qty_order;
int no_conflict_combined_regno = -1; int no_conflict_combined_regno = -1;
/* Counter to prevent allocating more SCRATCHes than can be stored
in SCRATCH_LIST. */
int scratches_allocated = scratch_index;
/* Count the instructions in the basic block. */ /* Count the instructions in the basic block. */
...@@ -1341,7 +1344,7 @@ block_alloc (b) ...@@ -1341,7 +1344,7 @@ block_alloc (b)
if (insn_code_number >= 0) if (insn_code_number >= 0)
for (i = 0; i < insn_n_operands[insn_code_number]; i++) for (i = 0; i < insn_n_operands[insn_code_number]; i++)
if (GET_CODE (recog_operand[i]) == SCRATCH if (GET_CODE (recog_operand[i]) == SCRATCH
&& scratch_index < scratch_list_length - 1) && scratches_allocated++ < scratch_list_length)
alloc_qty_for_scratch (recog_operand[i], i, insn, alloc_qty_for_scratch (recog_operand[i], i, insn,
insn_code_number, insn_number); insn_code_number, insn_number);
......
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