From: Richard Sandiford Date: Wed, 5 Sep 2001 08:45:33 +0000 (+0000) Subject: mips.c (save_restore_insns): Don't mark any register save slots as unchanging if... X-Git-Tag: prereleases/libstdc++-3.0.95~2251 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eecd6d9c571a4979d1383691d65cd475672c0257;p=thirdparty%2Fgcc.git mips.c (save_restore_insns): Don't mark any register save slots as unchanging if... * config/mips/mips.c (save_restore_insns): Don't mark any register save slots as unchanging if current_function_calls_eh_return. From-SVN: r45406 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7554869b88ff..b9f1fc3ac276 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-05 Richard Sandiford + + * config/mips/mips.c (save_restore_insns): Don't mark any register + save slots as unchanging if current_function_calls_eh_return. + 2001-09-05 Richard Henderson * config/alpha/alpha.c (alpha_legitimate_address_p): New. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 28e0de814fb0..583cf7385340 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -6621,8 +6621,7 @@ save_restore_insns (store_p, large_reg, large_offset, file) gen_rtx (PLUS, Pmode, base_reg_rtx, GEN_INT (gp_offset - base_offset))); - if (regno != GP_REG_FIRST + 31 - || ! current_function_calls_eh_return) + if (! current_function_calls_eh_return) RTX_UNCHANGING_P (mem_rtx) = 1; /* The mips16 does not have an instruction to load @@ -6779,7 +6778,8 @@ save_restore_insns (store_p, large_reg, large_offset, file) gen_rtx (PLUS, Pmode, base_reg_rtx, GEN_INT (fp_offset - base_offset))); - RTX_UNCHANGING_P (mem_rtx) = 1; + if (! current_function_calls_eh_return) + RTX_UNCHANGING_P (mem_rtx) = 1; if (store_p) mips_emit_frame_related_store (mem_rtx, reg_rtx, fp_offset);