From: Richard Sandiford Date: Sun, 17 Aug 2008 10:47:40 +0000 (+0000) Subject: mips.c (mips_save_reg_p): Don't short-circuit rest of function when handling GLOBAL_P... X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4817c43b1740e11de6ad2e6074cf2a9c4c1d431c;p=platform%2Fupstream%2Fgcc.git mips.c (mips_save_reg_p): Don't short-circuit rest of function when handling GLOBAL_POINTER_REGNUM. gcc/ * config/mips/mips.c (mips_save_reg_p): Don't short-circuit rest of function when handling GLOBAL_POINTER_REGNUM. From-SVN: r139169 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index faa9226..9b3fc6e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-08-17 Richard Sandiford + + * config/mips/mips.c (mips_save_reg_p): Don't short-circuit rest + of function when handling GLOBAL_POINTER_REGNUM. + 2008-08-16 Eric Botcazou PR ada/20548 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 48daec4..51af59b 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -8322,10 +8322,12 @@ mips_global_pointer (void) static bool mips_save_reg_p (unsigned int regno) { - /* We only need to save $gp if TARGET_CALL_SAVED_GP and only then - if we have not chosen a call-clobbered substitute. */ - if (regno == GLOBAL_POINTER_REGNUM) - return TARGET_CALL_SAVED_GP && cfun->machine->global_pointer == regno; + /* We need to save $gp if TARGET_CALL_SAVED_GP and if we have not + chosen a call-clobbered substitute. */ + if (TARGET_CALL_SAVED_GP + && regno == GLOBAL_POINTER_REGNUM + && cfun->machine->global_pointer == regno) + return true; /* Check call-saved registers. */ if ((crtl->saves_all_registers || df_regs_ever_live_p (regno))