diff options
author | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2019-07-22 21:41:48 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2019-07-22 15:41:48 -0600 |
commit | 34e646226fd083e18ae6e07a9ceb18e59bc20077 (patch) | |
tree | fabbe280337e8b915b1ca035a02bb3ab20bbe573 /gcc/symtab.c | |
parent | 2ac8e32236d0fe6c07545ab0e275403af4a63710 (diff) | |
download | gcc-34e646226fd083e18ae6e07a9ceb18e59bc20077.zip gcc-34e646226fd083e18ae6e07a9ceb18e59bc20077.tar.gz gcc-34e646226fd083e18ae6e07a9ceb18e59bc20077.tar.bz2 |
cgraph.c (dump_graphviz): New function.
* cgraph.c (dump_graphviz): New function.
* cgraph.h (dump_graphviz): New function.
* symtab.c (dump_graphviz): New function.
* lang.opt (flag_dump_callgraph): New flag.
* lto-dump.c (dump_symtab_graphviz): New function.
(dump_tool_help): New option.
(lto_main): Handle graphviz dumping.
From-SVN: r273708
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r-- | gcc/symtab.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c index b1589ea..63e2820 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -956,6 +956,13 @@ symtab_node::dump (FILE *f) } void +symtab_node::dump_graphviz (FILE *f) +{ + if (cgraph_node *cnode = dyn_cast <cgraph_node *> (this)) + cnode->dump_graphviz (f); +} + +void symbol_table::dump (FILE *f) { symtab_node *node; @@ -964,6 +971,16 @@ symbol_table::dump (FILE *f) node->dump (f); } +void +symbol_table::dump_graphviz (FILE *f) +{ + symtab_node *node; + fprintf (f, "digraph symtab {\n"); + FOR_EACH_SYMBOL (node) + node->dump_graphviz (f); + fprintf (f, "}\n"); +} + DEBUG_FUNCTION void symbol_table::debug (void) { |