Vladimir Makarov <vmaka...@redhat.com> writes:
>    The following patch implements most Richard's proposals for LRA 
> lra-spills.c and lra-coalesce.c files.
>
>    The patch was successfully bootstrapped on x86/x86-64.
>
>    Committed as rev. 192389.

Thanks for the updates.  Looks good to me.  Just one comment though:

> @@ -125,7 +136,7 @@ process_copy_to_form_thread (int regno1,
>          last = regno_assign_info[last].next)
>       regno_assign_info[last].first = regno1_first;
>        regno_assign_info[last].next = regno_assign_info[regno1_first].next;
> -      regno_assign_info[regno1_first].first = regno2_first;
> +      regno_assign_info[regno1_first].next = regno2_first;
>        regno_assign_info[regno1_first].freq
>       += regno_assign_info[regno2_first].freq;
>      }

I still think this is missing a:

        regno_assign_info[last].first = regno1_first;

after the loop.  I.e.:

      for (last = regno2_first;
           regno_assign_info[last].next >= 0;
           last = regno_assign_info[last].next)
        regno_assign_info[last].first = regno1_first;
      regno_assign_info[last].first = regno1_first;
      regno_assign_info[last].next = regno_assign_info[regno1_first].next;
      ...

Richard

Reply via email to