2003-11-20 James E Wilson PR c/13133 * reload1.c (reload): Delete special handling for setjmp. Index: reload1.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/reload1.c,v retrieving revision 1.408 diff -p -r1.408 reload1.c *** reload1.c 27 Oct 2003 10:52:46 -0000 1.408 --- reload1.c 16 Nov 2003 07:45:13 -0000 *************** reload (rtx first, int global) *** 698,706 **** /* 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. */ num_eliminable_invariants = 0; for (insn = first; insn; insn = NEXT_INSN (insn)) --- 698,704 ---- /* 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. */ num_eliminable_invariants = 0; for (insn = first; insn; insn = NEXT_INSN (insn)) *************** reload (rtx first, int global) *** 713,724 **** if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE && 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) { --- 711,716 ----