https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65076
--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Concerning Comment #7, I do not think the sreal refactoring screwed things up. sreals are not high on profile and the code generated is not worse (performance wise). It is not better, but it is not a surprise - we traditionally keep inline limits high enough to get tramp3d performance good. GCC 5 currently generates 11% bigger code than GCC 4.9. Not a good thing, but from POV of the inliner heuristics it is - it is trying to do as much as posisble of code duplication before it hits the limits. New badness metrics performs better on tramp3d - it does all useful inlining at 10% of unit growth, hile old one needed 25%. It prioritizes more cases where inliner knows DCE will happen because of propagation across arguments and thus it manages to get later optimizers more busy. Still plan to look into this more, but I think it is kind of non-bug (just showing the fact that inliner is stupid to believe that all inlining is a good idea, but there is not much to do except getting realistic static program profiles that it out of current state of art).