https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81541
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Version|unknown |8.0 Keywords| |missed-optimization Last reconfirmed| |2017-07-25 Component|other |ipa CC| |marxin at gcc dot gnu.org, | |mliska at suse dot cz Ever confirmed|0 |1 Severity|normal |enhancement --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Both crossjumping (on RTL) and tail-merging on GIMPLE perform the desired transform inside a function. You are looking for the IPA side of this (which only can common whole functions at the moment), basically function part outlining plus ICF.