http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48641
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-12-23 19:14:12 UTC --- The frequencies are initially scaled to be in range 0...BB_FREQ_MAX, but subsequent transformations may break the invariant (when two basic blocks are unified). If it turns out to be neccessary we probably will add a capping. Because the function is loopless, the frequencies should not get above sum of all frequencies in the function no matter what threading does. So it seems we just propagate some misupdated profile? Honza