aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/moxie/moxie.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/moxie/moxie.c')
-rw-r--r--gcc/config/moxie/moxie.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/moxie/moxie.c b/gcc/config/moxie/moxie.c
index d840463..aa5948e 100644
--- a/gcc/config/moxie/moxie.c
+++ b/gcc/config/moxie/moxie.c
@@ -264,7 +264,7 @@ moxie_compute_frame (void)
/* Save callee-saved registers. */
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
- if (df_regs_ever_live_p (regno) && (! call_used_regs[regno]))
+ if (df_regs_ever_live_p (regno) && (! call_used_or_fixed_reg_p (regno)))
cfun->machine->callee_saved_reg_size += 4;
cfun->machine->size_for_adjusting_sp =
@@ -288,7 +288,9 @@ moxie_expand_prologue (void)
/* Save callee-saved registers. */
for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
{
- if (!fixed_regs[regno] && df_regs_ever_live_p (regno) && !call_used_regs[regno])
+ if (!fixed_regs[regno]
+ && df_regs_ever_live_p (regno)
+ && !call_used_or_fixed_reg_p (regno))
{
insn = emit_insn (gen_movsi_push (gen_rtx_REG (Pmode, regno)));
RTX_FRAME_RELATED_P (insn) = 1;
@@ -349,7 +351,7 @@ moxie_expand_epilogue (void)
emit_insn (gen_addsi3 (reg, reg, hard_frame_pointer_rtx));
}
for (regno = FIRST_PSEUDO_REGISTER; regno-- > 0; )
- if (!fixed_regs[regno] && !call_used_regs[regno]
+ if (!fixed_regs[regno] && !call_used_or_fixed_reg_p (regno)
&& df_regs_ever_live_p (regno))
{
rtx preg = gen_rtx_REG (Pmode, regno);