https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83069

--- Comment #12 from Siddhesh Poyarekar <siddhesh at gotplt dot org> ---
(In reply to rdapp from comment #11)
> 416.gamess fails on S390 as well since r254888.
> 
> I didn't immediately get what the
> 
>       if (freq_max < 16)
>       freq_max = 16;
> 
> part of the patch is supposed to achieve. When freq_max < 16, tmp will later
> be larger than BLOCK_INFO (bb)->frequency which wasn't the case before. In
> the worst case we approach max_count by 4 bits every time.
> Why do we need a minimum freq_max? To ensure some scaling even for low
> frequencies?

I suppose the minimum frequency is to prevent loss of precision in the lower
frequencies (they may get rounded off to 0 in the profile counts since they're
integers) when the max_freq is greater than max_real_bb_freq.  It is consistent
with earlier behaviour and the higher max_real_bb_freq should give us a net win
anyway.

Reply via email to