aboutsummaryrefslogtreecommitdiff
path: root/gcc/gdbhooks.py
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gdbhooks.py')
-rw-r--r--gcc/gdbhooks.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/gdbhooks.py b/gcc/gdbhooks.py
index 4735d59..a581810 100644
--- a/gcc/gdbhooks.py
+++ b/gcc/gdbhooks.py
@@ -389,6 +389,32 @@ class CfgEdgePrinter:
return result
######################################################################
+# Pretty-printers for -fanalyzer (namespace ana)
+######################################################################
+
+class AnaSupernodePrinter:
+ def __init__(self, gdbval):
+ self.gdbval = gdbval
+
+ def to_string (self):
+ result = '<ana::supernode 0x%x' % intptr(self.gdbval)
+ if intptr(self.gdbval):
+ result += ' (SN %i)' % intptr(self.gdbval['m_index'])
+ result += '>'
+ return result
+
+class AnaExplodedNodePrinter:
+ def __init__(self, gdbval):
+ self.gdbval = gdbval
+
+ def to_string (self):
+ result = '<ana::exploded_node 0x%x' % intptr(self.gdbval)
+ if intptr(self.gdbval):
+ result += ' (EN %i)' % intptr(self.gdbval['m_index'])
+ result += '>'
+ return result
+
+######################################################################
class Rtx:
def __init__(self, gdbval):
@@ -625,6 +651,13 @@ def build_pretty_printer():
pp.add_printer_for_types(['basic_block', 'basic_block_def *'],
'basic_block',
BasicBlockPrinter)
+ pp.add_printer_for_types(['ana::supernode *', 'const ana::supernode *'],
+ 'ana::supernode',
+ AnaSupernodePrinter)
+ pp.add_printer_for_types(['ana::exploded_node *',
+ 'dedge<ana::eg_traits>::node_t *'],
+ 'ana::exploded_node',
+ AnaExplodedNodePrinter)
pp.add_printer_for_types(['edge', 'edge_def *'],
'edge',
CfgEdgePrinter)