https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94960
--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Note that passing function body to middle-end does not only enable inlining, but other optimizations too. Often ipa-modref is able to summarize side effects of the function and enables more optimization, since we know that this pointer will not escape or the function has no other side-effects other than manipulating data pointed-to by this. so inline as visibility is quite desriable on everything which we do not want to be optimization barrier.