https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121220
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Ah, and the reason for the restriction to a PHI is limited virtual operand updating. For a = 1; if (...) .. = a; a = 0; we have to insert a PHI node on the CFG merge. We cannot easliy delay this either as further stmt processing relies on correct virtual operands. Now, the case of a noreturn sink location is special, so we could special case for this. Handling more special CFG cases would be possible, but relying on update-ssa doing the PHI insertion after each sink would be too costly.