re PR target/39523 (SH: global registers are wrongly saved)

PR target/39523
	* config/sh/sh.c (calc_live_regs): Fix condition for global
	registers except PIC_OFFSET_TABLE_REGNUM.

From-SVN: r145077
This commit is contained in:
Kaz Kojima 2009-03-25 22:23:27 +00:00
parent 46994828ef
commit 9fdcdc749b
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2009-03-25 Kaz Kojima <kkojima@gcc.gnu.org>
PR target/39523
* config/sh/sh.c (calc_live_regs): Fix condition for global
registers except PIC_OFFSET_TABLE_REGNUM.
2009-03-25 Kai Tietz <kai.tietz@onevision.com>
PR/39518

View File

@ -5966,7 +5966,9 @@ calc_live_regs (HARD_REG_SET *live_regs_mask)
&& crtl->args.info.call_cookie
&& reg == PIC_OFFSET_TABLE_REGNUM)
|| (df_regs_ever_live_p (reg)
&& (!call_really_used_regs[reg]
&& ((!call_really_used_regs[reg]
&& !(reg != PIC_OFFSET_TABLE_REGNUM
&& fixed_regs[reg] && call_used_regs[reg]))
|| (trapa_handler && reg == FPSCR_REG && TARGET_FPU_ANY)))
|| (crtl->calls_eh_return
&& (reg == EH_RETURN_DATA_REGNO (0)