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