reload1.c (reload): If we can not perform a particular elimination when we thought we could earlier...

* reload1.c (reload): If we can not perform a particular elimination
        when we thought we could earlier, then we must always iterate through
        the loop at least one more time.
x86 should bootstrap with -O9 -fomit-frame-pointer again.

From-SVN: r23552
This commit is contained in:
Jeffrey A Law 1998-11-07 00:02:03 +00:00 committed by Jeff Law
parent 80df65c95e
commit 8f5db3c196
2 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
* reload1.c (reload): If we can not perform a particular elimination
when we thought we could earlier, then we must always iterate through
the loop at least one more time.
Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
* alpha.c (add_operand): Simplify the CONST_INT match.

View File

@ -927,6 +927,17 @@ reload (first, global, dumpfile)
{
spill_hard_reg (i, dumpfile, 1);
did_spill = 1;
/* Regardless of the state of spills, if we previously had
a register that we thought we could eliminate, but no can
not eliminate, we must run another pass.
Consider pseudos which have an entry in reg_equiv_* which
reference an eliminable register. We must make another pass
to update reg_equiv_* so that we do not substitute in the
old value from when we thought the elimination could be
performed. */
something_changed = 1;
}
}