From cf641ce6cced9835f60dc4f353c55f545a45207b Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Tue, 11 Feb 1997 20:53:36 +0000 Subject: [PATCH] (calc_live_regs): need not save MACL/MACH when not live, and in leaf function. From-SVN: r13627 --- gcc/config/sh/sh.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 0ffdeae..0f3a94f 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -2590,10 +2590,9 @@ calc_live_regs (count_ptr, live_regs_mask2) { /* Need to save all the regs ever live. */ if ((regs_ever_live[reg] - || (call_used_regs[reg] && ! fixed_regs[reg] - && regs_ever_live[PR_REG]) - || reg == MACH_REG - || reg == MACL_REG) + || (call_used_regs[reg] + && (! fixed_regs[reg] || reg == MACH_REG || reg == MACL_REG) + && regs_ever_live[PR_REG])) && reg != STACK_POINTER_REGNUM && reg != ARG_POINTER_REGNUM && reg != RETURN_ADDRESS_POINTER_REGNUM && reg != T_REG && reg != GBR_REG) -- 2.7.4