https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109520

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
ISTR a duplicate.  We're looping in lra ()

          do
            {
...
              if (fails_p)
                {
                  /* It is a very rare case.  It is the last hope to
                     split a hard regno live range for a reload
                     pseudo.  */
                  if (live_p)
                    lra_clear_live_ranges ();
                  live_p = false;
                  if (! lra_split_hard_reg_for ())
                    break;
                  lra_hard_reg_split_p = true;
                }
            }
          while (fails_p && !lra_asm_error_p);

not sure if that's ever expected to execute the if (fails_p) case more
than once?  That is, lra_split_hard_reg_for for some reason does something
twice?

Reply via email to