From: Richard Sandiford Date: Fri, 10 Aug 2001 13:03:44 +0000 (+0000) Subject: mips.c (save_restore_insns): Don't mark the RA's stack slot as unchanging if current_... X-Git-Tag: prereleases/libstdc++-3.0.95~2762 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8205f032908c8d821e92aac477cf60804ca2d2e;p=thirdparty%2Fgcc.git mips.c (save_restore_insns): Don't mark the RA's stack slot as unchanging if current_function_calls_eh_return. * config/mips/mips.c (save_restore_insns): Don't mark the RA's stack slot as unchanging if current_function_calls_eh_return. From-SVN: r44760 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 366b53362d80..3e1d11a36637 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-08-10 Richard Sandiford + + * config/mips/mips.c (save_restore_insns): Don't mark the RA's + stack slot as unchanging if current_function_calls_eh_return. + 2001-08-10 Richard Sandiford * config/mips/mips.md (reload_outcc): Use HARD_REGNO_NREGS to diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 879da3da73ed..dc1781c06911 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -6608,7 +6608,9 @@ save_restore_insns (store_p, large_reg, large_offset, file) gen_rtx (PLUS, Pmode, base_reg_rtx, GEN_INT (gp_offset - base_offset))); - RTX_UNCHANGING_P (mem_rtx) = 1; + if (regno != GP_REG_FIRST + 31 + || ! current_function_calls_eh_return) + RTX_UNCHANGING_P (mem_rtx) = 1; /* The mips16 does not have an instruction to load $31, so we load $7 instead, and work things out