On Thu, Sep 14, 2017 at 10:18:55AM -0500, Pat Haugen wrote:
> --- gcc/config/rs6000/rs6000.c        (revision 252029)
> +++ gcc/config/rs6000/rs6000.c        (working copy)
> @@ -37807,6 +37807,11 @@ rs6000_set_up_by_prologue (struct hard_r
>      add_to_hard_reg_set (&set->set, Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM);
>    if (cfun->machine->split_stack_argp_used)
>      add_to_hard_reg_set (&set->set, Pmode, 12);
> +
> +  /* Make sure the hard reg set doesn't include r2, which was possibly added
> +     via PIC_OFFSET_TABLE_REGNUM.  */
> +  if (TARGET_TOC)
> +    remove_from_hard_reg_set (&set->set, Pmode, TOC_REGNUM);
>  }

Hrm, can't you simply not add it in the first place?  Just a few lines up?


Segher

Reply via email to