diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-11-17 13:25:54 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2009-11-17 13:25:54 +0000 |
commit | 6ca19a974b25008e1e9e9c68c34a904b1b12fb4d (patch) | |
tree | ff92dc7d6b59fc085a6be8e7a6df89a49fe1c792 | |
parent | 73d2e138b14cd662a9a7310950d408b007e88802 (diff) | |
download | gcc-6ca19a974b25008e1e9e9c68c34a904b1b12fb4d.zip gcc-6ca19a974b25008e1e9e9c68c34a904b1b12fb4d.tar.gz gcc-6ca19a974b25008e1e9e9c68c34a904b1b12fb4d.tar.bz2 |
spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC registers in leaf functions if possible.
* config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
registers in leaf functions if possible.
From-SVN: r154245
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/spu/spu.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5de6fcd..49c55a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC + registers in leaf functions if possible. + 2009-11-17 Maxim Kuvyrkov <maxim@codesourcery.com> * config/m68k/m68k-devices.def: Add MCF5441x family. diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c index 2888da6..a75f04a 100644 --- a/gcc/config/spu/spu.c +++ b/gcc/config/spu/spu.c @@ -1710,6 +1710,8 @@ get_pic_reg (void) rtx pic_reg = pic_offset_table_rtx; if (!reload_completed && !reload_in_progress) abort (); + if (current_function_is_leaf && !df_regs_ever_live_p (LAST_ARG_REGNUM)) + pic_reg = gen_rtx_REG (SImode, LAST_ARG_REGNUM); return pic_reg; } |