Hi, The problem here is the code reads: /* Check for more than one successor. */ if (! EDGE_COUNT (bb->succs) > 1) But that expression is always false as ! has a higher precedence than > does. So the obvious thing is to rewrite this statement as: if (EDGE_COUNT (bb->succs) <= 1) And that fixes the problem. The only case where this case matters is with __builtin_unreachable as fis_get_condition will return null for all other cases where there are only one successor edge and we check that result.
Committed as obvious after a bootstrap/test on x86_64-linux-gnu. Thanks, Andrew Pinski ChangeLog: