http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53106
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-04-25 16:11:43 UTC --- This is previously latent bug in frequency verification. We check that frequencies of edges match frequencies of basic block. This check is disabled when function is inline, because then the frequencies of edges are scaled to the same base as in the outer function. Now what happens is that the function gets cloned, then the original version gets fully inlined and finally becomes unreachable. We however need to keep function body around and thus remove_unreachable_nodes turns the inline clone back to offline re-enabling the check that finally fires. I am not sure how we got around this problem previously. I am doiuble checking.