https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116191
Levi Morrison <morrison.levi at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |morrison.levi at gmail dot com --- Comment #4 from Levi Morrison <morrison.levi at gmail dot com> --- One thing about this version: void unlikely_branch_through_cold_func_call(zend_string *s, bool cond) { if (cond) { zend_string_release(s); cold_func(); } printf("Hello world"); } The cold_func is not just providing information about the branch being cold, but it's generating size, which also affects inlining heuristics for the function.