diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2001-08-10 13:03:44 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2001-08-10 13:03:44 +0000 |
commit | a8205f032908c8d821e92aac477cf60804ca2d2e (patch) | |
tree | 8190f41d4200964afaef7e03f7cf602e936bdb35 /gcc | |
parent | 2359d013c45d2d37a9be9c466cc12771710ca80e (diff) | |
download | gcc-a8205f032908c8d821e92aac477cf60804ca2d2e.zip gcc-a8205f032908c8d821e92aac477cf60804ca2d2e.tar.gz gcc-a8205f032908c8d821e92aac477cf60804ca2d2e.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 366b533..3e1d11a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2001-08-10 Richard Sandiford <rsandifo@redhat.com> + * 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 <rsandifo@redhat.com> + * config/mips/mips.md (reload_outcc): Use HARD_REGNO_NREGS to access the second half of the TFmode scratch operand. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 879da3d..dc1781c 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 |