https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80233
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
How about this patch instead?
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1250,7 +1250,8 @@ combine_instructions (rtx_insn *f, unsigned int nregs)
continue;
while (last_combined_insn
- && last_combined_insn->deleted ())
+ && (!INSN_P (last_combined_insn)
+ || last_combined_insn->deleted ()))
last_combined_insn = PREV_INSN (last_combined_insn);
if (last_combined_insn == NULL_RTX
|| BARRIER_P (last_combined_insn)