summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/haifa-sched.c16
2 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e8fd8984dc..0a7aeb6b425 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index 477eec3f792..97d8d57557a 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -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:
{
OpenPOWER on IntegriCloud