https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102844
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Before: <bb 13> [local count: 25265782]: <L4>: nd.7_11 = _46; _12 = _46 + -128; _13 = (unsigned char) _12; dic = _13; goto <bb 15>; [100.00%] <bb 14> [local count: 25265782]: <L5>: dic = 0; <bb 15> [local count: 114848370]: # nd_52 = PHI <nd_6(14), 149(12), nd_6(13), 33(8)> return nd_52; <bb 16> [local count: 25270028]: _46 = (signed char) nd_6; if (_46 < 0) goto <bb 13>; [33.33%] else goto <bb 14>; [66.67%] Hmmm: <bb 16> [local count: 25270028]: nd_36 = ASSERT_EXPR <nd_47, nd_47 <= 130>; _46 = (signed char) nd_36; if (_46 < 0) goto <bb 21>; [33.33%] else goto <bb 20>; [66.67%] <bb 21> [local count: 8423438]: _17 = ASSERT_EXPR <_46, _46 < 0>; nd_39 = ASSERT_EXPR <nd_36, nd_36 + 128 <= 127>; <bb 13> [local count: 25265782]: <L4>: nd.7_11 = _34(D); _12 = _33(D) + -128; _13 = (unsigned char) _12; dic = _13; goto <bb 15>; [100.00%] <bb 20> [local count: 16846590]: nd_45 = ASSERT_EXPR <nd_36, nd_36 + 128 > 127>; Hmm, no phi node at bb 13 for _46 ....