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
This commit is contained in:
Richard Sandiford 2001-09-05 08:45:33 +00:00 committed by Richard Sandiford
parent a39bdefc84
commit eecd6d9c57
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2001-09-05 Richard Sandiford <rsandifo@redhat.com>
* 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 <rth@redhat.com>
* config/alpha/alpha.c (alpha_legitimate_address_p): New.

View File

@ -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);