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
This commit is contained in:
Giuliano Belinassi 2019-10-22 19:05:49 +00:00 committed by Giuliano Belinassi
parent ebb3afe2b9
commit 51940760d7
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
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.

View File

@ -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 ());
}
}