https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67629
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- That's for CC. However as the warning is triggered early, we don't have optimized IL: (gdb) p debug_function(cfun->decl, 0) foo (_Bool a) { int D.1836; <bb 2> [0.00%] [count: INV]: if (a != 0) goto <bb 3>; [INV] [count: INV] else goto <bb 4>; [INV] [count: INV] <bb 3> [0.00%] [count: INV]: D.1836 = 0; // predicted unlikely by early return (on trees) predictor. goto <bb 7>; [INV] [count: INV] <bb 4> [0.00%] [count: INV]: _1 = ~a; if (_1 != 0) goto <bb 5>; [INV] [count: INV] else goto <bb 6>; [INV] [count: INV] <bb 5> [0.00%] [count: INV]: D.1836 = 1; // predicted unlikely by early return (on trees) predictor. goto <bb 7>; [INV] [count: INV] <bb 6> [0.00%] [count: INV]: return; <bb 7> [0.00%] [count: INV]: <L4>: return D.1836; }