https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116374
--- Comment #3 from Michael Matz <matz at gcc dot gnu.org> ---
Ah yes, that assert checks that a previously unused elimination entry is still
pristine. It might be that the entries in 'self_elim_table' need similar
treatment, but that would need further testcases to be sure.
So, this in addition:
diff --git a/gcc/lra-eliminations.cc b/gcc/lra-eliminations.cc
index 5bed259cffe..90e5c086d8e 100644
--- a/gcc/lra-eliminations.cc
+++ b/gcc/lra-eliminations.cc
@@ -1212,7 +1212,7 @@ update_reg_eliminate (bitmap insns_with_changed_offsets)
if (lra_dump_file != NULL)
fprintf (lra_dump_file, " Using elimination %d to %d now\n",
ep1->from, ep1->to);
- lra_assert (known_eq (ep1->previous_offset, 0));
+ lra_assert (known_eq (ep1->previous_offset, -1));
ep1->previous_offset = ep->offset;
}
else