aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-06-14 17:32:30 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-06-14 17:32:30 -0400
commitd008e26c417d2a4d950185001cfb89edc18c4923 (patch)
treebee283cce3a23f7c8dfda5ea6b86d1347ac9e304 /gcc
parent1bc61c04f8da58fa076764b3987b20588aa4117d (diff)
downloadgcc-d008e26c417d2a4d950185001cfb89edc18c4923.zip
gcc-d008e26c417d2a4d950185001cfb89edc18c4923.tar.gz
gcc-d008e26c417d2a4d950185001cfb89edc18c4923.tar.bz2
(jump_optimize): Don't delete dead insn if it has a REG_RETVAL note.
From-SVN: r7458
Diffstat (limited to 'gcc')
-rw-r--r--gcc/jump.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 05938d2..08130db 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -550,7 +550,8 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
of a reg that's used in notes. A subsequent optimization
might arrange to use that reg for real. */
&& regno_last_note_uid[REGNO (SET_DEST (set))] == INSN_UID (insn)
- && ! side_effects_p (SET_SRC (set)))
+ && ! side_effects_p (SET_SRC (set))
+ && ! find_reg_note (insn, REG_RETVAL, 0))
delete_insn (insn);
}