diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-03-25 22:23:27 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-03-25 22:23:27 +0000 |
commit | 9eceecfa13391e6e18fdbe2e8ff3542bd0fe2823 (patch) | |
tree | 22e61eb660b189c7d00176ed720f0b02fa90e9f4 | |
parent | 524711f43175341419d7ab9627aa098e5afd0b66 (diff) |
PR target/39523
* config/sh/sh.c (calc_live_regs): Fix condition for global
registers except PIC_OFFSET_TABLE_REGNUM.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@145077 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b7d9028a86..7d9fe815e35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 3c57730b83e..c8f4c85ee75 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -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) |