Show INSN_UIDs in compact mode
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 26 Oct 2016 18:25:14 +0000 (18:25 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Wed, 26 Oct 2016 18:25:14 +0000 (18:25 +0000)
gcc/ChangeLog:
* print-rtl.c (rtx_writer::print_rtx_operand_code_u): Print
INSN_UIDs for all insns in compact mode.
(rtx_writer::print_rtx): Likewise.
* print-rtl.h (rtx_writer::flag_compact): Update comment.
* rtl-tests.c (selftest::test_dumping_insns): Update expected
output to include INSN_UID.
(selftest::test_uncond_jump): Likewise.

From-SVN: r241593

gcc/ChangeLog
gcc/print-rtl.c
gcc/print-rtl.h
gcc/rtl-tests.c

index c50d8f44abe067932d2e2f9babc7f6efa4e29b80..02a37f61933867719b6bb7a48a270b885ec1a404 100644 (file)
@@ -1,3 +1,13 @@
+2016-10-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * print-rtl.c (rtx_writer::print_rtx_operand_code_u): Print
+       INSN_UIDs for all insns in compact mode.
+       (rtx_writer::print_rtx): Likewise.
+       * print-rtl.h (rtx_writer::flag_compact): Update comment.
+       * rtl-tests.c (selftest::test_dumping_insns): Update expected
+       output to include INSN_UID.
+       (selftest::test_uncond_jump): Likewise.
+
 2016-10-26  Pat Haugen  <pthaugen@us.ibm.com>
 
        * haifa-sched.c (call_used_regs_num): Rename to...
index d0ba896f3e2201a6a86e876b10cea725fc510b15..341ecdfedb84fb500b54c2a49934afda4b62672c 100644 (file)
@@ -423,8 +423,8 @@ rtx_writer::print_rtx_operand_code_r (const_rtx in_rtx)
 void
 rtx_writer::print_rtx_operand_code_u (const_rtx in_rtx, int idx)
 {
-  /* Don't print insn UIDs in compact mode, apart from in LABEL_REFs.  */
-  if (m_compact && GET_CODE (in_rtx) != LABEL_REF)
+  /* Don't print insn UIDs for PREV/NEXT_INSN in compact mode.  */
+  if (m_compact && INSN_CHAIN_CODE_P (GET_CODE (in_rtx)) && idx < 2)
     return;
 
   if (XEXP (in_rtx, idx) != NULL)
@@ -672,10 +672,8 @@ rtx_writer::print_rtx (const_rtx in_rtx)
     idx = 5;
 #endif
 
-  /* For insns, print the INSN_UID.
-     In compact mode, we only print the INSN_UID of CODE_LABELs.  */
-  if (INSN_CHAIN_CODE_P (GET_CODE (in_rtx))
-      && (!m_compact || GET_CODE (in_rtx) == CODE_LABEL))
+  /* For insns, print the INSN_UID.  */
+  if (INSN_CHAIN_CODE_P (GET_CODE (in_rtx)))
     {
       if (flag_dump_unnumbered)
        fprintf (m_outfile, " #");
index 4ebfcf99b03333ec14779c43e244c254b95cf6df..8496ffa1491f158a2074d9d6475d257bea48bb4f 100644 (file)
@@ -50,7 +50,7 @@ class rtx_writer
   bool m_simple;
 
   /* If true, use compact dump format:
-     - INSN_UIDs are omitted, except for jumps and CODE_LABELs,
+     - PREV/NEXT_INSN UIDs are omitted
      - INSN_CODEs are omitted,
      - register numbers are omitted for hard and virtual regs, and
        non-virtual pseudos are offset relative to the first such reg, and
index 43665ba6281fe83c1e4409233cbf50ae027aeb5d..4e534b2316f60ad151d9e4acf6c665f672fc3768 100644 (file)
@@ -121,7 +121,7 @@ test_dumping_insns ()
   /* Barriers.  */
   rtx_barrier *barrier = as_a <rtx_barrier *> (rtx_alloc (BARRIER));
   SET_NEXT_INSN (barrier) = NULL;
-  ASSERT_RTL_DUMP_EQ ("(cbarrier)\n", barrier);
+  ASSERT_RTL_DUMP_EQ ("(cbarrier 0)\n", barrier);
 
   /* Labels.  */
   rtx_insn *label = gen_label_rtx ();
@@ -179,7 +179,7 @@ test_uncond_jump ()
   ASSERT_TRUE (onlyjump_p (jump_insn));
   ASSERT_TRUE (control_flow_insn_p (jump_insn));
 
-  ASSERT_RTL_DUMP_EQ ("(cjump_insn (set (pc)\n"
+  ASSERT_RTL_DUMP_EQ ("(cjump_insn (set (pc)\n"
                      "        (label_ref 0))\n"
                      "     (nil))\n",
                      jump_insn);