https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102844
--- Comment #24 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jeffrey A. Law from comment #23) > Invalid is invalid. Full stop. > > I'll have to put it under a debugger, but I would have expected the nocopy > block to turn into a forwarder -- why do we end up putting statements in > here? We are folding the GIMPLE_COND as part of DOMs stmt optimization (we propagate a copy into it), and the simplification gets us a conversion we need to put somewhere. Before r9-6384-g1a438d160e1dc845 we were failing to put such new stmts into the expression hash tables leading to redundancies.