Prettier visualization of COND_EXECs
authorBernd Schmidt <bernds@redhat.co.uk>
Mon, 27 Nov 2000 15:08:08 +0000 (15:08 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Mon, 27 Nov 2000 15:08:08 +0000 (15:08 +0000)
From-SVN: r37795

gcc/ChangeLog
gcc/haifa-sched.c

index 6e8fd8984dc31f3784ccd9f14b9976bb6ba4fb43..0a7aeb6b4259a19f9fc7209f8604c288c25fe641 100644 (file)
@@ -1,5 +1,7 @@
 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
 
+       * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
+
        * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
        (reload_cse_simplify_operands): Do nothing about operands where both
        the operand and the match_operand fail to give us a mode.
index 477eec3f792fac770a2413d48d30e931e161af2b..97d8d57557a3471fc41cac61467d8898773a897a 100644 (file)
@@ -5492,9 +5492,19 @@ print_pattern (buf, x, verbose)
       sprintf (buf, "use %s", t1);
       break;
     case COND_EXEC:
-      print_value (t1, COND_EXEC_CODE (x), verbose);
-      print_value (t2, COND_EXEC_TEST (x), verbose);
-      sprintf (buf, "cond_exec %s %s", t1, t2);
+      if (GET_CODE (COND_EXEC_TEST (x)) == NE
+         && XEXP (COND_EXEC_TEST (x), 1) == const0_rtx)
+       print_value (t1, XEXP (COND_EXEC_TEST (x), 0), verbose);
+      else if (GET_CODE (COND_EXEC_TEST (x)) == EQ
+               && XEXP (COND_EXEC_TEST (x), 1) == const0_rtx)
+        {
+         t1[0] = '!';
+         print_value (t1 + 1, XEXP (COND_EXEC_TEST (x), 0), verbose);
+       }
+      else
+        print_value (t1, COND_EXEC_TEST (x), verbose);
+      print_pattern (t2, COND_EXEC_CODE (x), verbose);
+      sprintf (buf, "(%s) %s", t1, t2);
       break;
     case PARALLEL:
       {