On Wed, 15 Apr 2020, David Malcolm wrote:

> On Wed, 2020-04-15 at 14:52 +0200, Richard Biener wrote:
> > This adds the SSA name version to the gdb pretty-printing of SSA
> > names.
> > 
> > (gdb) p (tree)$1
> > $5 = <ssa_name 0x7ffff68435a0 323>
> > 
> > Tested (see above...).
> > 
> > OK?
> 
> > Thanks,
> > Richard.
> > 
> > 2020-04-15  Richard Biener  <rguent...@suse.de>
> > 
> >     * gdbhooks.py (TreePrinter): Print SSA_NAME_VERSION of SSA_NAME
> >     nodes.
> > ---
> >  gcc/gdbhooks.py | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py
> > index e9acc373126..f6aef9ceae8 100644
> > --- a/gcc/gdbhooks.py
> > +++ b/gcc/gdbhooks.py
> > @@ -154,6 +154,7 @@ tree_code_dict =
> > gdb.types.make_enum_dict(gdb.lookup_type('enum tree_code'))
> >  # ...and look up specific values for use later:
> >  IDENTIFIER_NODE = tree_code_dict['IDENTIFIER_NODE']
> >  TYPE_DECL = tree_code_dict['TYPE_DECL']
> > +SSA_NAME = tree_code_dict['SSA_NAME']
> >  
> >  # Similarly for "enum tree_code_class" (tree.h):
> >  tree_code_class_dict =
> > gdb.types.make_enum_dict(gdb.lookup_type('enum tree_code_class'))
> > @@ -252,6 +253,8 @@ class TreePrinter:
> >                          result += ' %s' %
> > tree_TYPE_NAME.DECL_NAME().IDENTIFIER_POINTER()
> >          if self.node.TREE_CODE() == IDENTIFIER_NODE:
> >              result += ' %s' % self.node.IDENTIFIER_POINTER()
> > +   if self.node.TREE_CODE() == SSA_NAME:
> > +       result += ' %u' % self.gdbval['base']['u']['version']
> 
> Make it an "elif" rather than a plain "if" as the TREE_CODEs are
> mutually exclusive (and the language doesn't have switch statements).

Done.

> Is something up with the indentation?  The "if" ("elif") for SSA_NAME
> should have the same indentation as the "if" for IDENTIFIER_NODE.  Is
> there a stray tab or similar?

Ah, tab vs. spaces.  Changed to all spaces now and pushed.

Richard.

Reply via email to