aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-11-27 15:08:08 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2000-11-27 15:08:08 +0000
commit375de5b62f08e1a0cab0ea09d0113db75b4a8f9e (patch)
tree1d7f88eb6985a09162f95f074efe7602fcf17ce5
parent7dbe6ae9b3232d6ff940ef8c6a65381e291154cd (diff)
downloadgcc-375de5b62f08e1a0cab0ea09d0113db75b4a8f9e.zip
gcc-375de5b62f08e1a0cab0ea09d0113db75b4a8f9e.tar.gz
gcc-375de5b62f08e1a0cab0ea09d0113db75b4a8f9e.tar.bz2
Prettier visualization of COND_EXECs
From-SVN: r37795
-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 6e8fd89..0a7aeb6 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 477eec3f..97d8d57 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:
{