postreload.c (reload_cse_simplify_operands): Fix bug in sorting algorithm so as to choose the best, not the worst, alternative.
* postreload.c (reload_cse_simplify_operands): Fix bug in sorting algorithm so as to choose the best, not the worst, alternative. Reset accumulated register class before processing next alternative. From-SVN: r106780
This commit is contained in:
parent
a5df14d4e5
commit
8a4c09c833
|
@ -1,3 +1,9 @@
|
|||
2005-11-11 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* postreload.c (reload_cse_simplify_operands): Fix bug in sorting
|
||||
algorithm so as to choose the best, not the worst, alternative.
|
||||
Reset accumulated register class before processing next alternative.
|
||||
|
||||
2005-11-11 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
PR target/24445
|
||||
|
|
|
@ -575,6 +575,7 @@ reload_cse_simplify_operands (rtx insn, rtx testreg)
|
|||
op_alt_regno[i][j] = regno;
|
||||
}
|
||||
j++;
|
||||
class = (int) NO_REGS;
|
||||
break;
|
||||
}
|
||||
p += CONSTRAINT_LEN (c, p);
|
||||
|
@ -607,7 +608,7 @@ reload_cse_simplify_operands (rtx insn, rtx testreg)
|
|||
int this_nregs = alternative_nregs[alternative_order[j]];
|
||||
|
||||
if (this_reject < best_reject
|
||||
|| (this_reject == best_reject && this_nregs < best_nregs))
|
||||
|| (this_reject == best_reject && this_nregs > best_nregs))
|
||||
{
|
||||
best = j;
|
||||
best_reject = this_reject;
|
||||
|
|
Loading…
Reference in New Issue