https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120003
--- Comment #4 from Andrew Macleod <amacleod at redhat dot com> --- This seems to be the issue? <bb 4> [local count: 350791453]: _1 = g (i_3); if (_1 != 0) goto <bb 5>; [50.00%] else goto <bb 6>; [50.00%] <bb 5> [local count: 175395727]: <bb 6> [local count: 1063004408]: # iftmp.0_4 = PHI <1(3), 0(4), 1(5)> That 3 way PHI isn't used in any threads, so we don't get a threaded path to the eventual return of 1.