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

Reply via email to