]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
reload1.c (delete_dead_insn): Don't delete feeding insn if that insn has side effects.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Mon, 6 Jul 1998 22:55:30 +0000 (22:55 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 6 Jul 1998 22:55:30 +0000 (16:55 -0600)
* reload1.c (delete_dead_insn): Don't delete feeding insn
if that insn has side effects.

From-SVN: r20975

gcc/ChangeLog
gcc/reload1.c

index b47a5327d56b10a89e8b96e97b514427ad1c43e1..bc811716fb73627ed053d417677acdf13cc72eae 100644 (file)
@@ -13,6 +13,9 @@ Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
 Mon Jul  6 22:47:55 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
+       * reload1.c (delete_dead_insn): Don't delete feeding insn
+       if that insn has side effects.
+
        * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
        changed.
 
index 73fd5d9823f0b7068e754aa3af62430700128870..456abb04eddf09118f4641a6497a1224a7c8e775 100644 (file)
@@ -2449,7 +2449,8 @@ delete_dead_insn (insn)
   if (prev && GET_CODE (PATTERN (prev)) == SET
       && (prev_dest = SET_DEST (PATTERN (prev)), GET_CODE (prev_dest) == REG)
       && reg_mentioned_p (prev_dest, PATTERN (insn))
-      && find_regno_note (insn, REG_DEAD, REGNO (prev_dest)))
+      && find_regno_note (insn, REG_DEAD, REGNO (prev_dest))
+      && ! side_effects_p (SET_SRC (PATTERN (prev))))
     delete_dead_insn (prev);
 
   PUT_CODE (insn, NOTE);