Hi!

r191883 seems to have introduced a pasto:
--- trunk/gcc/passes.c  2012/10/01 00:17:52     191882
+++ trunk/gcc/passes.c  2012/10/01 05:43:06     191883
@@ -231,27 +231,23 @@
   timevar_push (TV_DUMP);
   if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
     {
-      dump_file = dump_begin (pass_profile.pass.static_pass_number, NULL);
+      dump_start (pass_profile.pass.static_pass_number, NULL);
       end_branch_prob ();
-      if (dump_file)
-       dump_end (pass_profile.pass.static_pass_number, dump_file);
+      dump_finish (pass_profile.pass.static_pass_number);
     }
 
   if (optimize > 0)
     {
-      dump_file = dump_begin (pass_combine.pass.static_pass_number, NULL);
-      if (dump_file)
-       {
-         dump_combine_total_stats (dump_file);
-          dump_end (pass_combine.pass.static_pass_number, dump_file);
-       }
+      dump_start (pass_profile.pass.static_pass_number, NULL);
+      print_combine_total_stats ();
+      dump_finish (pass_combine.pass.static_pass_number);
     }

where dump_finish was used with correct pass_combine, but dump_start was
pastoed from the previous if and contained pass_profile instead.
Next r193821 noticed this, but instead of fixing the dump_start argument
changed dump_finish argument to match.

So, in the end, the combiner statistics was emitted in profile_estimate dump
and on the PR88714 issue suggested there is a difference already in the
profile_estimate dump, when actually the IL changed only during pre and of
course everything after it, including the combiner.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2019-01-10  Jakub Jelinek  <ja...@redhat.com>

        PR bootstrap/88714
        * passes.c (finish_optimization_passes): Call print_combine_total_stats
        inside of pass_combine_1 dump rather than pass_profile_1.

--- gcc/passes.c.jj     2019-01-01 12:37:15.494002253 +0100
+++ gcc/passes.c        2019-01-10 16:30:43.295424173 +0100
@@ -361,9 +361,9 @@ finish_optimization_passes (void)
 
   if (optimize > 0)
     {
-      dumps->dump_start (pass_profile_1->static_pass_number, NULL);
+      dumps->dump_start (pass_combine_1->static_pass_number, NULL);
       print_combine_total_stats ();
-      dumps->dump_finish (pass_profile_1->static_pass_number);
+      dumps->dump_finish (pass_combine_1->static_pass_number);
     }
 
   /* Do whatever is necessary to finish printing the graphs.  */

        Jakub

Reply via email to