Commit a9ced68b by Alexander Monakov Committed by Alexander Monakov

sel-sched.c (choose_best_reg_1): Loop over all regs for mode.

2010-01-14  Alexander Monakov  <amonakov@ispras.ru>

	* sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.

From-SVN: r155897
parent 0c94f956
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
* sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
* sel-sched.c (mark_unavailable_hard_regs): Do not try to search
available registers when failed to discover LHS register class.
Fix indentation. Update comment.
......
......@@ -1429,6 +1429,16 @@ choose_best_reg_1 (HARD_REG_SET hard_regs_used,
0, cur_reg, hrsi)
if (! TEST_HARD_REG_BIT (hard_regs_used, cur_reg))
{
/* Check that all hard regs for mode are available. */
for (i = 1, n = hard_regno_nregs[cur_reg][mode]; i < n; i++)
if (TEST_HARD_REG_BIT (hard_regs_used, cur_reg + i)
|| !TEST_HARD_REG_BIT (reg_rename_p->available_for_renaming,
cur_reg + i))
break;
if (i < n)
continue;
/* All hard registers are available. */
if (best_new_reg < 0
|| reg_rename_tick[cur_reg] < reg_rename_tick[best_new_reg])
......@@ -1460,6 +1470,7 @@ choose_best_reg (HARD_REG_SET hard_regs_used, struct reg_rename *reg_rename_p,
rtx best_reg = choose_best_reg_1 (hard_regs_used, reg_rename_p,
original_insns, is_orig_reg_p_ptr);
/* FIXME loop over hard_regno_nregs here. */
gcc_assert (best_reg == NULL_RTX
|| TEST_HARD_REG_BIT (sel_hrd.regs_ever_used, REGNO (best_reg)));
......
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