diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 403e8ddbd3a..33f34c3934b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-09-10 Richard Sandiford + + * config/frv/frv.c (frv_ifcvt_modify_tests): Use + regs_invalidated_by_call & ~fixed_reg_set instead of + call_used_or_fixed_regs & ~fixed_reg_set. + * config/sh/sh.c (output_stack_adjust): Likewise. + 2019-09-10 Richard Sandiford * hard-reg-set.h (target_hard_regs::x_call_used_reg_set): Delete. diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c index 90c062bed19..936c532f4d7 100644 --- a/gcc/config/frv/frv.c +++ b/gcc/config/frv/frv.c @@ -5201,7 +5201,7 @@ frv_ifcvt_modify_tests (ce_if_block *ce_info, rtx *p_true, rtx *p_false) not fixed. However, allow the ICC/ICR temporary registers to be allocated if we did not need to use them in reloading other registers. */ memset (&tmp_reg->regs, 0, sizeof (tmp_reg->regs)); - tmp_reg->regs = call_used_or_fixed_regs &~ fixed_reg_set; + tmp_reg->regs = regs_invalidated_by_call & ~fixed_reg_set; SET_HARD_REG_BIT (tmp_reg->regs, ICC_TEMP); SET_HARD_REG_BIT (tmp_reg->regs, ICR_TEMP); diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index fd23fb03c72..ab3a78fafdc 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -6707,7 +6707,7 @@ output_stack_adjust (int size, rtx reg, int epilogue_p, temp = -1; if (temp < 0 && ! current_function_interrupt && epilogue_p >= 0) { - HARD_REG_SET temps = (call_used_or_fixed_regs + HARD_REG_SET temps = (regs_invalidated_by_call & ~fixed_reg_set & savable_regs); if (epilogue_p > 0)