https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79570
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |abel at gcc dot gnu.org --- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> --- It looks suspicious to me that the code tries to look at the original block of an expr being moved up, generally there can be more than one origin if an expr was "unified" at branches. Alexandre, do you recall why debug insns at heads of basic blocks are special? As a wild guess, perhaps the code meant to special-case that the insn we're moving the expr past is a debug insn? That is, to say 'insn' instead of 'EXPR_INSN_RTX (expr)' in all 3 lines quoted by Jakub?