(http://gcc.gnu.org/ml/gcc-patches/2003-12/msg00630.html) 2003-12-06 Eric Botcazou PR optimization/12965 * caller-save.c (save_call_clobbered_regs): Do not save/restore registers around no-return calls. --- gcc-3.3.2/gcc/caller-save.c.orig 2002-06-13 12:24:00.000000000 +0000 +++ gcc-3.3.2/gcc/caller-save.c 2003-12-06 15:29:08.000000000 +0000 @@ -407,7 +407,7 @@ regno += insert_restore (chain, 1, regno, MOVE_MAX_WORDS, save_mode); } - if (code == CALL_INSN) + if (code == CALL_INSN && ! find_reg_note (insn, REG_NORETURN, NULL)) { int regno; HARD_REG_SET hard_regs_to_save;