reorg.c (fill_slots_from_thread): Check side_effects_p when trying the "opposite...
authorHans-Peter Nilsson <hp@axis.com>
Wed, 12 Apr 2000 20:46:22 +0000 (20:46 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Wed, 12 Apr 2000 20:46:22 +0000 (20:46 +0000)
* reorg.c (fill_slots_from_thread): Check side_effects_p when
trying the "opposite arithmetic" approach.

From-SVN: r33125

gcc/ChangeLog
gcc/reorg.c

index 43332c7..d519be5 100644 (file)
@@ -1,3 +1,8 @@
+Wed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
+
+       * reorg.c (fill_slots_from_thread): Check side_effects_p when
+       trying the "opposite arithmetic" approach.
+
 Wed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
index 3997c74..379def7 100644 (file)
@@ -2808,7 +2808,8 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely,
       dest = SET_DEST (pat), src = SET_SRC (pat);
       if ((GET_CODE (src) == PLUS || GET_CODE (src) == MINUS)
          && rtx_equal_p (XEXP (src, 0), dest)
-         && ! reg_overlap_mentioned_p (dest, XEXP (src, 1)))
+         && ! reg_overlap_mentioned_p (dest, XEXP (src, 1))
+         && ! side_effects_p (pat))
        {
          rtx other = XEXP (src, 1);
          rtx new_arith;