Sandra Loosemore <san...@codesourcery.com> writes:
> Index: gcc/regrename.c
> ===================================================================
> --- gcc/regrename.c   (revision 224532)
> +++ gcc/regrename.c   (working copy)
> @@ -942,19 +942,22 @@ regrename_do_replace (struct du_head *he
>        int reg_ptr = REG_POINTER (*chain->loc);
>  
>        if (DEBUG_INSN_P (chain->insn) && REGNO (*chain->loc) != base_regno)
> -     INSN_VAR_LOCATION_LOC (chain->insn) = gen_rtx_UNKNOWN_VAR_LOC ();
> +     validate_change (chain->insn, &(INSN_VAR_LOCATION_LOC (chain->insn)),
> +                      gen_rtx_UNKNOWN_VAR_LOC (), true);
>        else
>       {
> -       *chain->loc = gen_raw_REG (GET_MODE (*chain->loc), reg);
> +       validate_change (chain->insn, chain->loc, 
> +                        gen_raw_REG (GET_MODE (*chain->loc), reg), true);
>         if (regno >= FIRST_PSEUDO_REGISTER)
>           ORIGINAL_REGNO (*chain->loc) = regno;
>         REG_ATTRS (*chain->loc) = attr;
>         REG_POINTER (*chain->loc) = reg_ptr;
>       }

I think it'd be cleaner to do the adjustments on the new register before
passing it to validate_change.

LGTM otherwise for what it's worth.

Thanks,
Richard

Reply via email to