On 09/28/2016 10:30 AM, Bernd Schmidt wrote:
On 09/28/2016 06:23 PM, Jeff Law wrote:

  (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.

I'm actually no longer quite so sure this buys us much: a port might
have an actual register named "h0", leading to confusion. Virtual and
hard registers also already have their real name printed after the number.

A "p" prefix for pseudos might still be a good idea, but there's still
the issue of a real "p0" register name causing confusion.
So how do you think we should deal with distinguishing between the different registers that may appear in a dump file?

The case I'm worried about is the register meanings in a testsuite dump file changing over time if/when new hard registers are added to the port or we introduce new virtual registers.

FOr hard regs and virtuals we can probably map backwards using their names. So given a register in a dump, if we can't reverse map it back to a hard reg or a virtual, then we assume its a pseudo?

jeff

Reply via email to