On 02/02/2017 03:54 PM, Jan Hubicka wrote: >> 2017-01-24 Martin Liska <mli...@suse.cz> >> >> * cgraph.c (cgraph_node::dump): Dump function version info. >> * symtab.c (symtab_node::dump_base): Add missing new line. >> --- >> gcc/cgraph.c | 10 ++++++++++ >> gcc/symtab.c | 1 + >> 2 files changed, 11 insertions(+) >> >> diff --git a/gcc/cgraph.c b/gcc/cgraph.c >> index ef2dc50282c..74839f7d993 100644 >> --- a/gcc/cgraph.c >> +++ b/gcc/cgraph.c >> @@ -2066,6 +2066,16 @@ cgraph_node::dump (FILE *f) >> fprintf (f, " Profile id: %i\n", >> profile_id); >> fprintf (f, " First run: %i\n", tp_first_run); >> + cgraph_function_version_info *vi = function_version (); >> + if (vi != NULL) >> + { >> + /* Iterate to first item in the chain. */ >> + while (vi->prev != NULL) >> + vi = vi->prev; >> + fprintf (f, " Version info: "); >> + dump_addr (f, "@", (void *)vi); >> + fprintf (f, "\n"); > > I suppose it is useful to know that version info is attached, but instead of > dumping an address, i would rather meaningfully print its contents (i.e. > dispatcher and prev/next pointers in list). > > OK with that change.
Yep, there's final version of patch, which I'll install just after testing. Martin > > honza >> + } >> fprintf (f, " Function flags:"); >> if (count) >> fprintf (f, " executed %" PRId64"x", >> diff --git a/gcc/symtab.c b/gcc/symtab.c >> index 87febdc212f..0078896c8a8 100644 >> --- a/gcc/symtab.c >> +++ b/gcc/symtab.c >> @@ -890,6 +890,7 @@ symtab_node::dump_base (FILE *f) >> { >> fprintf (f, " Aux:"); >> dump_addr (f, " @", (void *)aux); >> + fprintf (f, "\n"); >> } >> >> fprintf (f, " References: "); >> -- >> 2.11.0 >> >
>From 9e0affe017bf9420c14f5a53d7f6f282fea43e4a Mon Sep 17 00:00:00 2001 From: marxin <mli...@suse.cz> Date: Tue, 24 Jan 2017 13:33:58 +0100 Subject: [PATCH] IPA: enhance dump output gcc/ChangeLog: 2017-01-24 Martin Liska <mli...@suse.cz> * cgraph.c (cgraph_node::dump): Dump function version info. * symtab.c (symtab_node::dump_base): Add missing new line. --- gcc/cgraph.c | 22 ++++++++++++++++++++++ gcc/symtab.c | 1 + 2 files changed, 23 insertions(+) diff --git a/gcc/cgraph.c b/gcc/cgraph.c index ef2dc50282c..f2f763e31b3 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -2066,6 +2066,28 @@ cgraph_node::dump (FILE *f) fprintf (f, " Profile id: %i\n", profile_id); fprintf (f, " First run: %i\n", tp_first_run); + cgraph_function_version_info *vi = function_version (); + if (vi != NULL) + { + fprintf (f, " Version info: "); + if (vi->prev != NULL) + { + fprintf (f, "prev: "); + fprintf (f, "%s/%i ", vi->prev->this_node->asm_name (), + vi->prev->this_node->order); + } + if (vi->next != NULL) + { + fprintf (f, "next: "); + fprintf (f, "%s/%i ", vi->next->this_node->asm_name (), + vi->next->this_node->order); + } + if (vi->dispatcher_resolver != NULL_TREE) + fprintf (f, "dispatcher: %s", + lang_hooks.decl_printable_name (vi->dispatcher_resolver, 2)); + + fprintf (f, "\n"); + } fprintf (f, " Function flags:"); if (count) fprintf (f, " executed %" PRId64"x", diff --git a/gcc/symtab.c b/gcc/symtab.c index 87febdc212f..0078896c8a8 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -890,6 +890,7 @@ symtab_node::dump_base (FILE *f) { fprintf (f, " Aux:"); dump_addr (f, " @", (void *)aux); + fprintf (f, "\n"); } fprintf (f, " References: "); -- 2.11.0