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: