Commit f189c7ca by Richard Kenner Committed by Richard Kenner

function.c (handle_epilogue_set): Check for FP setting case when SP is set from FP in same insn.

	* function.c (handle_epilogue_set): Check for FP setting case when
	SP is set from FP in same insn.

From-SVN: r47719
parent a8571098
Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* function.c (handle_epilogue_set): Check for FP setting case when
SP is set from FP in same insn.
2001-12-06 Nick Clifton <nickc@cambridge.redhat.com> 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.c (load_multiple_sequence): Pass pointer to * config/arm/arm.c (load_multiple_sequence): Pass pointer to
......
...@@ -7349,10 +7349,13 @@ handle_epilogue_set (set, p) ...@@ -7349,10 +7349,13 @@ handle_epilogue_set (set, p)
/* Next handle the case where we are setting SP's equivalent register. /* Next handle the case where we are setting SP's equivalent register.
If we already have a value to set it to, abort. We could update, but If we already have a value to set it to, abort. We could update, but
there seems little point in handling that case. */ there seems little point in handling that case. Note that we have
else if (p->sp_equiv_reg != 0 && reg_set_p (p->sp_equiv_reg, set)) to allow for the case where we are setting the register set in
the previous part of a PARALLEL inside a single insn. But use the
old offset for any updates within this insn. */
else if (p->new_sp_equiv_reg != 0 && reg_set_p (p->new_sp_equiv_reg, set))
{ {
if (!rtx_equal_p (p->sp_equiv_reg, SET_DEST (set)) if (!rtx_equal_p (p->new_sp_equiv_reg, SET_DEST (set))
|| p->equiv_reg_src != 0) || p->equiv_reg_src != 0)
abort (); abort ();
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment