diff mbox series

Clean-up IPA profile dump output.

Message ID d6d72259-2f94-f090-6bee-fbe727fcb719@suse.cz
State New
Headers show
Series Clean-up IPA profile dump output. | expand

Commit Message

Martin Liška Jan. 23, 2018, 9:25 a.m. UTC
Hi.

I'm aware in which development stage we are. However the patch is small and makes
dump files readable. Hope such patch can be accepted even now?

Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.

Martin

gcc/ChangeLog:

2018-01-22  Martin Liska  <mliska@suse.cz>

	* tree-profile.c (tree_profiling): Print function header to
	aware reader which function we are working on.
	* value-prof.c (gimple_find_values_to_profile): Do not print
	not interesting value histograms.
---
 gcc/tree-profile.c | 4 ++++
 gcc/value-prof.c   | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Jan Hubicka Jan. 23, 2018, 9:43 a.m. UTC | #1
> Hi.
> 
> I'm aware in which development stage we are. However the patch is small and makes
> dump files readable. Hope such patch can be accepted even now?
> 
> Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
> 
> Martin
> 
> gcc/ChangeLog:
> 
> 2018-01-22  Martin Liska  <mliska@suse.cz>
> 
> 	* tree-profile.c (tree_profiling): Print function header to
> 	aware reader which function we are working on.
> 	* value-prof.c (gimple_find_values_to_profile): Do not print
> 	not interesting value histograms.

OK.  How those non-interesting value histograms arrise?

Honza
> ---
>  gcc/tree-profile.c | 4 ++++
>  gcc/value-prof.c   | 2 +-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> 

> diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
> index 9d919062db1..f96bd4b9704 100644
> --- a/gcc/tree-profile.c
> +++ b/gcc/tree-profile.c
> @@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.  If not see
>  #include "params.h"
>  #include "stringpool.h"
>  #include "attribs.h"
> +#include "tree-pretty-print.h"
>  
>  static GTY(()) tree gcov_type_node;
>  static GTY(()) tree tree_interval_profiler_fn;
> @@ -671,6 +672,9 @@ tree_profiling (void)
>  
>        push_cfun (DECL_STRUCT_FUNCTION (node->decl));
>  
> +      if (dump_file)
> +	dump_function_header (dump_file, cfun->decl, dump_flags);
> +
>        /* Local pure-const may imply need to fixup the cfg.  */
>        if (execute_fixup_cfg () & TODO_cleanup_cfg)
>  	cleanup_tree_cfg ();
> diff --git a/gcc/value-prof.c b/gcc/value-prof.c
> index b503320f188..16cdbd64f46 100644
> --- a/gcc/value-prof.c
> +++ b/gcc/value-prof.c
> @@ -2053,7 +2053,7 @@ gimple_find_values_to_profile (histogram_values *values)
>  	default:
>  	  gcc_unreachable ();
>  	}
> -      if (dump_file)
> +      if (dump_file && hist->hvalue.stmt != NULL)
>          {
>  	  fprintf (dump_file, "Stmt ");
>            print_gimple_stmt (dump_file, hist->hvalue.stmt, 0, TDF_SLIM);
>
Martin Liška Jan. 23, 2018, 12:20 p.m. UTC | #2
On 01/23/2018 10:43 AM, Jan Hubicka wrote:
>> Hi.
>>
>> I'm aware in which development stage we are. However the patch is small and makes
>> dump files readable. Hope such patch can be accepted even now?
>>
>> Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
>>
>> Martin
>>
>> gcc/ChangeLog:
>>
>> 2018-01-22  Martin Liska  <mliska@suse.cz>
>>
>> 	* tree-profile.c (tree_profiling): Print function header to
>> 	aware reader which function we are working on.
>> 	* value-prof.c (gimple_find_values_to_profile): Do not print
>> 	not interesting value histograms.
> 
> OK.  How those non-interesting value histograms arrise?

Can happen if you have missing profile, then no value histograms are loaded.

Thanks for review, let me install it.
Martin

> 
> Honza
>> ---
>>  gcc/tree-profile.c | 4 ++++
>>  gcc/value-prof.c   | 2 +-
>>  2 files changed, 5 insertions(+), 1 deletion(-)
>>
>>
> 
>> diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
>> index 9d919062db1..f96bd4b9704 100644
>> --- a/gcc/tree-profile.c
>> +++ b/gcc/tree-profile.c
>> @@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.  If not see
>>  #include "params.h"
>>  #include "stringpool.h"
>>  #include "attribs.h"
>> +#include "tree-pretty-print.h"
>>  
>>  static GTY(()) tree gcov_type_node;
>>  static GTY(()) tree tree_interval_profiler_fn;
>> @@ -671,6 +672,9 @@ tree_profiling (void)
>>  
>>        push_cfun (DECL_STRUCT_FUNCTION (node->decl));
>>  
>> +      if (dump_file)
>> +	dump_function_header (dump_file, cfun->decl, dump_flags);
>> +
>>        /* Local pure-const may imply need to fixup the cfg.  */
>>        if (execute_fixup_cfg () & TODO_cleanup_cfg)
>>  	cleanup_tree_cfg ();
>> diff --git a/gcc/value-prof.c b/gcc/value-prof.c
>> index b503320f188..16cdbd64f46 100644
>> --- a/gcc/value-prof.c
>> +++ b/gcc/value-prof.c
>> @@ -2053,7 +2053,7 @@ gimple_find_values_to_profile (histogram_values *values)
>>  	default:
>>  	  gcc_unreachable ();
>>  	}
>> -      if (dump_file)
>> +      if (dump_file && hist->hvalue.stmt != NULL)
>>          {
>>  	  fprintf (dump_file, "Stmt ");
>>            print_gimple_stmt (dump_file, hist->hvalue.stmt, 0, TDF_SLIM);
>>
>
diff mbox series

Patch

diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index 9d919062db1..f96bd4b9704 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -52,6 +52,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "params.h"
 #include "stringpool.h"
 #include "attribs.h"
+#include "tree-pretty-print.h"
 
 static GTY(()) tree gcov_type_node;
 static GTY(()) tree tree_interval_profiler_fn;
@@ -671,6 +672,9 @@  tree_profiling (void)
 
       push_cfun (DECL_STRUCT_FUNCTION (node->decl));
 
+      if (dump_file)
+	dump_function_header (dump_file, cfun->decl, dump_flags);
+
       /* Local pure-const may imply need to fixup the cfg.  */
       if (execute_fixup_cfg () & TODO_cleanup_cfg)
 	cleanup_tree_cfg ();
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index b503320f188..16cdbd64f46 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -2053,7 +2053,7 @@  gimple_find_values_to_profile (histogram_values *values)
 	default:
 	  gcc_unreachable ();
 	}
-      if (dump_file)
+      if (dump_file && hist->hvalue.stmt != NULL)
         {
 	  fprintf (dump_file, "Stmt ");
           print_gimple_stmt (dump_file, hist->hvalue.stmt, 0, TDF_SLIM);