public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: David Malcolm <dmalcolm@redhat.com>,
	Bernd Schmidt <bschmidt@redhat.com>,
	       gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] print-rtx.c: add 'h', v' and 'p' prefixes to regnos
Date: Wed, 28 Sep 2016 16:30:00 -0000	[thread overview]
Message-ID: <1f79d2db-c542-f1e4-c520-78cf603b277b@redhat.com> (raw)
In-Reply-To: <1474484478-55517-1-git-send-email-dmalcolm@redhat.com>

On 09/21/2016 01:01 PM, David Malcolm wrote:
>>
>> Presumably we could use "v" rather than "p" as the prefix for the
>> first
>> 5 pseudos (up to LAST_VIRTUAL_REGISTER), doing any adjustment at load
>> time, rather than at dump time.  So the above example would look
>> like:
>>
>>    (reg/f:DI v82 virtual-stack-vars)
>>
>> i.e. the 82 for x86_64's virtual-stack-vars would be prefixed with a
>> 'v', and the loader would adjust it to be the current target's value
>> for VIRTUAL_STACK_VARS_REGNUM.
>>
>> Do you like the idea of prefixing regnums of hardregs with 'h'? (so
>> that all regnos get a one-char prefix) e.g.
>>   (reg/i:SI h0 ax)
>>   (reg/i:SF h21 xmm0)
>
> (Replying to myself, in the hope of better demonstrating the idea)
>
> The following patch implements this idea for RTL dumps, so that all REGNO
> values in dumps get a one character prefix: 'h' for hard registers, 'v'
> for virtual registers, and 'p' for non-virtual pseudos (making it easier
> for both humans and parsers to grok the meaning of a REGNO).
I think you nailed it.  h, v & p prefixing for each of the register 
types, but leaving the actual register number as-is in the dump file.


> Successfully bootstrapped on x86_64-pc-linux-gnu.
> There are various regression test failures involving scan-rtl-dump
> due to regexes not matching e.g.
>  PASS -> FAIL : gcc.target/i386/pr20020-1.c scan-rtl-dump expand "\\(set \\(reg/i:TI 0 ax\\)"
>  PASS -> FAIL : gcc.target/i386/pr20020-1.c scan-rtl-dump expand "\\(set \\(reg:TI [0-9]* \\[ <retval> \\]\\)"
> If the approach is OK, I can do an updated patch that also fixes up the
> relevant tests (adding the appropriate prefixes); this would touch
> multiple targets.
Yea.  This obviously highlights some of the long term issues with making 
changes into the dump format.  As I said in our meeting yesterday, I do 
understand the desire to nail down the format :-)  But I also want to 
use the opportunity we have to make the dumps easier for your work to 
read & interpret.

jeff

  reply	other threads:[~2016-09-28 16:23 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-09  0:01 [PATCH 0/9] RFC: selftests based on RTL dumps David Malcolm
2016-09-09  0:01 ` [PATCH 2/9] Add selftest::read_file David Malcolm
2016-09-16 21:19   ` Jeff Law
2016-09-09  0:01 ` [PATCH 7/9] combine.c selftests David Malcolm
2016-09-16 20:45   ` Jeff Law
2016-09-16 21:39     ` David Malcolm
2016-09-09  0:01 ` [PATCH 3/9] selftest.h: add temp_override fixture David Malcolm
2016-09-14 22:24   ` Trevor Saunders
2016-09-16 20:37   ` Jeff Law
2016-09-09  0:01 ` [PATCH 8/9] final.c selftests David Malcolm
2016-09-16 21:12   ` Jeff Law
2016-09-16 21:41     ` David Malcolm
2016-09-19 21:38       ` Jeff Law
2016-09-09  0:01 ` [PATCH 1/9] Introduce class rtx_reader David Malcolm
2016-09-16 22:15   ` Jeff Law
2016-09-21 17:22     ` [PATCH, v2] " David Malcolm
2016-09-21 20:44       ` Richard Sandiford
2016-09-09  0:01 ` [PATCH 6/9] df selftests David Malcolm
2016-09-16 20:40   ` Jeff Law
2016-09-16 21:34     ` David Malcolm
2016-09-09  0:01 ` [PATCH 4/9] Expose forcibly_ggc_collect and run it after all selftests David Malcolm
2016-09-16 20:30   ` Jeff Law
2016-09-09  0:01 ` [PATCH 9/9] cse.c selftests David Malcolm
2016-09-16 20:34   ` Jeff Law
2016-09-16 21:28     ` David Malcolm
2016-09-19 17:37       ` Jeff Law
2016-09-22  3:23         ` [PATCH] Introduce selftest::locate_file David Malcolm
2016-09-28 16:33           ` Jeff Law
2016-09-09  0:13 ` [PATCH 5/9] Introduce class function_reader David Malcolm
2016-09-16 21:31   ` Jeff Law
2016-09-16 22:04     ` David Malcolm
2016-09-19 21:39       ` Jeff Law
2016-09-12 14:14 ` [PATCH 0/9] RFC: selftests based on RTL dumps Bernd Schmidt
2016-09-12 18:59   ` David Malcolm
2016-09-13 11:35     ` Bernd Schmidt
2016-09-14 10:33       ` Bernd Schmidt
2016-09-16 20:26       ` Jeff Law
2016-09-16 21:28         ` David Malcolm
2016-09-19 17:50           ` Jeff Law
2016-09-20 14:34             ` Register numbers in RTL dumps (was Re: [PATCH 0/9] RFC: selftests based on RTL dumps) David Malcolm
2016-09-20 14:38               ` Bernd Schmidt
2016-09-20 15:26                 ` Jeff Law
2016-09-20 15:38                   ` Bernd Schmidt
2016-09-20 19:35                   ` David Malcolm
2016-09-21 18:59                     ` [PATCH] print-rtx.c: add 'h', v' and 'p' prefixes to regnos David Malcolm
2016-09-28 16:30                       ` Jeff Law [this message]
2016-09-28 16:33                         ` Bernd Schmidt
2016-09-28 17:11                           ` Jeff Law
2016-09-28 17:19                             ` Bernd Schmidt
2016-09-29 13:00                               ` David Malcolm
2016-09-29 17:32                               ` Jeff Law
2016-09-13 20:39     ` [PATCH 0/9] RFC: selftests based on RTL dumps Jeff Law
2016-09-14  8:44       ` Richard Biener
2016-09-16 20:16         ` Jeff Law
2016-09-16 21:27           ` David Malcolm
2016-09-19 12:21             ` Bernd Schmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1f79d2db-c542-f1e4-c520-78cf603b277b@redhat.com \
    --to=law@redhat.com \
    --cc=bschmidt@redhat.com \
    --cc=dmalcolm@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).