re PR c/13133 (Extraneous register-saves triggered by setjmp())

PR c/13133
* reload1.c (reload): Delete special handling for setjmp.

From-SVN: r73791
This commit is contained in:
James E Wilson 2003-11-21 05:49:05 +00:00 committed by Jim Wilson
parent 0eadf440e4
commit c862d589d2
2 changed files with 6 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2003-11-20 James E Wilson <wilson@specifixinc.com>
PR c/13133
* reload1.c (reload): Delete special handling for setjmp.
2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
* mklibgcc.in: Evaluate shlib_slibdir_qual during link

View File

@ -698,9 +698,7 @@ reload (rtx first, int global)
/* Look for REG_EQUIV notes; record what each pseudo is equivalent to.
Also find all paradoxical subregs and find largest such for each pseudo.
On machines with small register classes, record hard registers that
are used for user variables. These can never be used for spills.
Also look for a "constant" REG_SETJMP. This means that all
caller-saved registers must be marked live. */
are used for user variables. These can never be used for spills. */
num_eliminable_invariants = 0;
for (insn = first; insn; insn = NEXT_INSN (insn))
@ -714,12 +712,6 @@ reload (rtx first, int global)
&& GET_MODE (insn) != VOIDmode)
PUT_MODE (insn, VOIDmode);
if (GET_CODE (insn) == CALL_INSN
&& find_reg_note (insn, REG_SETJMP, NULL))
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (! call_used_regs[i])
regs_ever_live[i] = 1;
if (set != 0 && GET_CODE (SET_DEST (set)) == REG)
{
rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX);