From: Ulrich Weigand Date: Tue, 17 Nov 2009 16:10:03 +0000 (+0000) Subject: spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC registers in leaf functions if possible. X-Git-Tag: releases/gcc-4.3.5~291 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53119a8f21bc3fc1b6363362a1c92813541c8b93;p=thirdparty%2Fgcc.git 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: r154252 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index efbcb8554430..6b8bb8da5e76 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-11-17 Ulrich Weigand + + * config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC + registers in leaf functions if possible. + 2009-11-14 Uros Bizjak * config/i386/predicates.md (call_register_no_elim_operand): diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c index 811bf5aef092..8c9a8d287e68 100644 --- a/gcc/config/spu/spu.c +++ b/gcc/config/spu/spu.c @@ -1614,6 +1614,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; }