* ifcvt.c (noce_process_if_block): Don't use an insn_b from
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 May 2000 21:41:10 +0000 (21:41 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 May 2000 21:41:10 +0000 (21:41 +0000)
        test_bb if insn_a uses x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33737 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ifcvt.c

index a249777..af787c6 100644 (file)
@@ -5,6 +5,9 @@
 
        * flow.c (mark_set_1): Respect not_dead when updating reg_live.
 
+       * ifcvt.c (noce_process_if_block): Don't use an insn_b from
+       test_bb if insn_a uses x.
+
 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cpphash.h: Remove conditional #define of __extension__.
index f1b8a95..25558f3 100644 (file)
@@ -1078,7 +1078,8 @@ noce_process_if_block (test_bb, then_bb, else_bb, join_bb)
          || GET_CODE (insn_b) != INSN
          || (set_b = single_set (insn_b)) == NULL_RTX
          || ! rtx_equal_p (x, SET_DEST (set_b))
-         || reg_mentioned_p (x, cond))
+         || reg_mentioned_p (x, cond)
+         || reg_mentioned_p (x, a))
        insn_b = set_b = NULL_RTX;
     }
   b = (set_b ? SET_SRC (set_b) : x);