aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorGiuliano Belinassi <giuliano.belinassi@usp.br>2019-07-22 21:41:48 +0000
committerJeff Law <law@gcc.gnu.org>2019-07-22 15:41:48 -0600
commit34e646226fd083e18ae6e07a9ceb18e59bc20077 (patch)
treefabbe280337e8b915b1ca035a02bb3ab20bbe573 /gcc/symtab.c
parent2ac8e32236d0fe6c07545ab0e275403af4a63710 (diff)
downloadgcc-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.c17
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)
{