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

Reply via email to