jump.c (thread_jumps): check can_reverse_comparison_p before threading a reversed...
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Sat, 20 Sep 1997 01:05:16 +0000 (01:05 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 20 Sep 1997 01:05:16 +0000 (19:05 -0600)
        * jump.c (thread_jumps): check can_reverse_comparison_p before
        threading a reversed-condition jump.

From-SVN: r15590

gcc/ChangeLog
gcc/jump.c

index ac47a53..64efb49 100644 (file)
@@ -1,5 +1,8 @@
 Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
 
+       * jump.c (thread_jumps): check can_reverse_comparison_p before
+       threading a reversed-condition jump.
+
        * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
        * haifa-sched.c (update_flow_info): Likewise.
 
index b277863..fee77d6 100644 (file)
@@ -4463,7 +4463,10 @@ thread_jumps (f, max_reg, flag_before_loop)
          if (rtx_equal_for_thread_p (b1op0, b2op0, b2)
              && rtx_equal_for_thread_p (b1op1, b2op1, b2)
              && (comparison_dominates_p (code1, code2)
-                 || comparison_dominates_p (code1, reverse_condition (code2))))
+                 || (comparison_dominates_p (code1, reverse_condition (code2))
+                     && can_reverse_comparison_p (XEXP (SET_SRC (PATTERN (b1)),
+                                                        0),
+                                                  b1))))
            {
              t1 = prev_nonnote_insn (b1);
              t2 = prev_nonnote_insn (b2);