re PR c/13133 (Extraneous register-saves triggered by setjmp())
authorJames E Wilson <wilson@specifixinc.com>
Fri, 21 Nov 2003 05:49:05 +0000 (05:49 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 21 Nov 2003 05:49:05 +0000 (21:49 -0800)
PR c/13133
* reload1.c (reload): Delete special handling for setjmp.

From-SVN: r73791

gcc/ChangeLog
gcc/reload1.c

index 1ee4f569946b74246fda9ba7c023062253525853..5a2ce042474a981b49ccb8d4465c664fe983db82 100644 (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
index 717489f3216c216612261e94abf991282f0123df..22c03421a012f0cd737f88aab040eab335fea0e3 100644 (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);