https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105832
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Martin Liška from comment #5) > With r13-3897-gbe2c74fdcd0e8d66 get: > gcc pr105832.c -c -O3 -fdump-tree-optimized=/dev/stdout --param > max-jump-thread-duplication-stmts=17 > > > ;; Function main (main, funcdef_no=0, decl_uid=2741, cgraph_uid=1, > symbol_order=2) (executed once) > > int main () > { > <bb 2> [local count: 178992760]: > c.a = 0; > return 0; > > } > > before the revision I was: > > ;; Function main (main, funcdef_no=0, decl_uid=2741, cgraph_uid=1, > symbol_order=2) (executed once) > > Removing basic block 5 > int main () > { > char _1; > unsigned char _2; > char iftmp.0_11; > > <bb 2> [local count: 178992758]: > _1 = c.b; > _2 = (unsigned char) _1; > if (_2 > 4) > goto <bb 4>; [50.00%] > else > goto <bb 3>; [50.00%] > > <bb 3> [local count: 89496379]: > iftmp.0_11 = _1 << 2; > > <bb 4> [local count: 178992760]: > c.a = 0; > return 0; > > } That's still without a call to foo ()?