Hello, thanks for proofreading! > On Thu, Jun 01, 2017 at 01:35:56PM +0200, Jan Hubicka wrote: > > Just some very minor nits. > > > Index: final.c > > =================================================================== > > --- final.c (revision 248684) > > +++ final.c (working copy) > > @@ -1951,9 +1951,11 @@ dump_basic_block_info (FILE *file, rtx_i > > fprintf (file, "%s BLOCK %d", ASM_COMMENT_START, bb->index); > > if (bb->frequency) > > fprintf (file, " freq:%d", bb->frequency); > > - if (bb->count) > > - fprintf (file, " count:%" PRId64, > > - bb->count); > > + if (bb->count.initialized_p ()) > > + { > > + fprintf (file, " count"); > > Missing colon. > s/count"/count:"/ Fixed! > > I think i saw a_count = a_count + something above and assumed you didn't > have a += operator. Could thus use the terse form in the snipped code > above on the patch, maybe?
I did conversion without those operators first because all those places are subject to updating WRT uninitialized values. I will re-add in place operators incrementally. > > static bool > > check_counter (gimple *stmt, const char * name, > > - gcov_type *count, gcov_type *all, gcov_type bb_count) > > + gcov_type *count, gcov_type *all, profile_count bb_count_d) > > { > > + gcov_type bb_count = bb_count_d.to_gcov_type (); > > + return true; > > On purpose? No, it was a hack. I have dropped it now. I will commit the patch after bit of additional testing. Note that it breaks gcc.dg/tree-prof/section-attr-2.c because it uncovers bug in loop-im which forgets to update profile (thus we end up with uninitialized counts rahter than 0 now and prevent hot/cold splitting). I will submit fixes incrementally one by one rather than mixing them with the actual reorg. Honza