https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103597
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
For the C++ front-end, we have IF_STMT.
Which is handled in cxx_block_may_fallthru:
case IF_STMT:
if (block_may_fallthru (THEN_CLAUSE (stmt)))
return true;
return block_may_fallthru (ELSE_CLAUSE (stmt));
- stmt = else_;
- else if (integer_nonzerop (cond) && !TREE_SIDE_EFFECTS (else_))
- stmt = then_;
- else if (integer_zerop (cond) && !TREE_SIDE_EFFECTS (then_))
- stmt = else_;
I don't know if this runs counter to again to unreachable code warning
experiment though ...