Commit 51940760 by Giuliano Belinassi Committed by Giuliano Belinassi

Fix incorrect merge of conflictant names in `dump_graphviz`

When using lto-dump -callgraph with two or more .o files containing distinct
functions with the same name, dump_graphviz incorrectly merged those functions
into a single node. This patch fixes this issue by calling `dump_name` instead
of `name`, therefore concat'ing the function name with the node's id.

To understeand what was the issue, let's say you have two files:

a.c: static void foo (void) { do_something (); }

b.c: static void foo (void) { do_something_else (); }

These are distinct functions and should be represented as distinct nodes in the
callgraph dump.

2019-10-22  Giuliano Belinassi  <giuliano.belinassi@usp.br>

	* cgraph.c (dump_graphviz): Change name to dump_name

From-SVN: r277299
parent ebb3afe2
2019-10-22 Giuliano Belinassi <giuliano.belinassi@usp.br>
* cgraph.c (dump_graphviz): Change name to dump_name
2019-10-22 Richard Earnshaw <rearnsha@arm.com>
* config/arm/arm.md (rsbsi_carryin_reg): New pattern.
......@@ -2155,7 +2155,7 @@ cgraph_node::dump_graphviz (FILE *f)
{
cgraph_node *callee = edge->callee;
fprintf (f, "\t\"%s\" -> \"%s\"\n", name (), callee->name ());
fprintf (f, "\t\"%s\" -> \"%s\"\n", dump_name (), callee->dump_name ());
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment