diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-07 13:05:43 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-07 13:05:43 +0000 |
commit | 7ce63ed26051e10930a0774ce984703929e5717c (patch) | |
tree | 4fc0eacaf5bee70d8056e103f0008fb589332fab /gcc/caller-save.c | |
parent | c9cd172c5bcb52e5c15d0c08efbfcb18180d49db (diff) | |
download | gcc-7ce63ed26051e10930a0774ce984703929e5717c.tar.gz |
PR optimization/12965
* caller-save.c (save_call_clobbered_regs): Do not save/restore
registers around no-return calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74389 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r-- | gcc/caller-save.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index d40c8d99be1..7467385a31e 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -408,7 +408,7 @@ save_call_clobbered_regs (void) 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; |