On Thu, 2016-10-13 at 12:21 +0200, Bernd Schmidt wrote:
> On 10/12/2016 10:37 PM, David Malcolm wrote:
> > It didn't pass, due to this change:
> > 
> >      (print_rtx_operand_code_i): When printing source locations,
> > wrap
> >      xloc.file in quotes. [...snip...]
> [...]
> > The following is a revised version of the patch which updates this
> > test case.
> 
> Also ok.

(committed to trunk as r241120)

> This reminds me, wrapping the filename in quotes was a side
> issue - what I was really hoping for was to have testcases without
> this
> visual clutter unless they wanted to explicitly test functionality
> related to it.

The following patch omits the INSN_LOCATION in compact mode.

Currently bootstrapping&regrtesting.

OK for trunk if it passes?

Alternatively, it seems that we might want an additional flag for
this.  If so, maybe it's time to introduce a "class rtx_writer" or
similar to hold the global state relating to dumping, and rewrite
the dumping in those terms?

gcc/ChangeLog:
        * print-rtl-function.c (print_rtx_function): Update comment for
        omission of INSN_LOCATIONs in compact mode.
        * print-rtl.c (print_rtx_operand_code_i): Omit INSN_LOCATIONs in
        compact mode.
---
 gcc/print-rtl-function.c | 13 +++++++------
 gcc/print-rtl.c          |  5 +++--
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/gcc/print-rtl-function.c b/gcc/print-rtl-function.c
index 90a0ff7..87a6458 100644
--- a/gcc/print-rtl-function.c
+++ b/gcc/print-rtl-function.c
@@ -133,6 +133,7 @@ can_have_basic_block_p (const rtx_insn *insn)
    - INSN_CODEs are omitted,
    - register numbers are omitted for hard and virtual regs
    - insn names are prefixed with "c" (e.g. "cinsn", "cnote", etc)
+   - INSN_LOCATIONs are omitted.
 
    Example output (with COMPACT==true):
 
@@ -144,30 +145,30 @@ can_have_basic_block_p (const rtx_insn *insn)
         (cnote [bb 2] NOTE_INSN_BASIC_BLOCK)
         (cinsn (set (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
                               (const_int -4)) [1 i+0 S4 A32])
-                      (reg:SI di [ i ])) "t.c":2
+                      (reg:SI di [ i ]))
                   (nil))
         (cnote NOTE_INSN_FUNCTION_BEG)
         (cinsn (set (reg:SI 89)
                       (mem/c:SI (plus:DI (reg/f:DI virtual-stack-vars)
-                              (const_int -4)) [1 i+0 S4 A32])) "t.c":3
+                              (const_int -4)) [1 i+0 S4 A32]))
                   (nil))
         (cinsn (parallel [
                           (set (reg:SI 87 [ _2 ])
                               (ashift:SI (reg:SI 89)
                                   (const_int 1)))
                           (clobber (reg:CC flags))
-                      ]) "t.c":3
+                      ])
                   (expr_list:REG_EQUAL (ashift:SI (mem/c:SI (plus:DI (reg/f:DI 
virtual-stack-vars)
                                   (const_int -4)) [1 i+0 S4 A32])
                           (const_int 1))
                       (nil)))
         (cinsn (set (reg:SI 88 [ <retval> ])
-                      (reg:SI 87 [ _2 ])) "t.c":3
+                      (reg:SI 87 [ _2 ]))
                   (nil))
         (cinsn (set (reg/i:SI ax)
-                      (reg:SI 88 [ <retval> ])) "t.c":4
+                      (reg:SI 88 [ <retval> ]))
                   (nil))
-        (cinsn (use (reg/i:SI ax)) "t.c":4
+        (cinsn (use (reg/i:SI ax))
                   (nil))
         (edge-to exit (flags "FALLTHRU"))
        ) ;; block 2
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index f114cb4..2bf7a13 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -288,8 +288,9 @@ print_rtx_operand_code_i (const_rtx in_rtx, int idx)
 
       /*  Pretty-print insn locations.  Ignore scoping as it is mostly
          redundant with line number information and do not print anything
-         when there is no location information available.  */
-      if (INSN_HAS_LOCATION (in_insn))
+         when there is no location information available.
+         Don't print locations when in compact mode.  */
+      if (INSN_HAS_LOCATION (in_insn) && !flag_compact)
        {
          expanded_location xloc = insn_location (in_insn);
          fprintf (outfile, " \"%s\":%i", xloc.file, xloc.line);
-- 
1.8.5.3

Reply via email to