[gcc/devel/ranger] pretty-print SSA names

Aldy Hernandez aldyh@gcc.gnu.org
Wed Jun 17 20:27:37 GMT 2020


https://gcc.gnu.org/g:fc6b42bbaa298ea6c10af185e1dd0126f5a760cd

commit fc6b42bbaa298ea6c10af185e1dd0126f5a760cd
Author: Richard Biener <rguenther@suse.de>
Date:   Wed Apr 15 14:50:00 2020 +0200

    pretty-print SSA names
    
    This adds the SSA name version to the gdb pretty-printing of SSA names.
    
    (gdb) p (tree)$1
    $5 = <ssa_name 0x7ffff68435a0 323>
    
    2020-04-16  Richard Biener  <rguenther@suse.de>
    
            * gdbhooks.py (TreePrinter): Print SSA_NAME_VERSION of SSA_NAME
            nodes.

Diff:
---
 gcc/ChangeLog   | 5 +++++
 gcc/gdbhooks.py | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ae08fbec2f7..899285cf46f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-16  Richard Biener  <rguenther@suse.de>
+
+	* gdbhooks.py (TreePrinter): Print SSA_NAME_VERSION of SSA_NAME
+	nodes.
+
 2020-04-15  Uroš Bizjak  <ubizjak@gmail.com>
 
 	PR target/94603
diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py
index e9acc373126..0ab6f01f927 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()
+        elif self.node.TREE_CODE() == SSA_NAME:
+            result += ' %u' % self.gdbval['base']['u']['version']
         # etc
         result += '>'
         return result


More information about the Gcc-cvs mailing list