Commit 756d6f0c by Jan Hubicka Committed by Jan Hubicka

regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes formed using PRE_MODIFY too.

	* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
	formed using PRE_MODIFY too.

From-SVN: r37326
parent 136c35df
Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz>
* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
formed using PRE_MODIFY too.
2000-11-08 Mark Mitchell <mark@codesourcery.com> 2000-11-08 Mark Mitchell <mark@codesourcery.com>
* c-tree.texi (VAR_DECL): Describe representation of GCC's * c-tree.texi (VAR_DECL): Describe representation of GCC's
......
...@@ -2340,10 +2340,17 @@ combine_stack_adjustments_for_block (bb) ...@@ -2340,10 +2340,17 @@ combine_stack_adjustments_for_block (bb)
turn it into a direct store. Obviously we can't do this if turn it into a direct store. Obviously we can't do this if
there were any intervening uses of the stack pointer. */ there were any intervening uses of the stack pointer. */
if (memlist == NULL if (memlist == NULL
&& (last_sp_adjust
== (HOST_WIDE_INT) GET_MODE_SIZE (GET_MODE (dest)))
&& GET_CODE (dest) == MEM && GET_CODE (dest) == MEM
&& GET_CODE (XEXP (dest, 0)) == PRE_DEC && ((GET_CODE (XEXP (dest, 0)) == PRE_DEC
&& (last_sp_adjust
== (HOST_WIDE_INT) GET_MODE_SIZE (GET_MODE (dest))))
|| (GET_CODE (XEXP (dest, 0)) == PRE_MODIFY
&& GET_CODE (XEXP (XEXP (dest, 0), 1)) == PLUS
&& XEXP (XEXP (XEXP (dest, 0), 1), 0) == stack_pointer_rtx
&& (GET_CODE (XEXP (XEXP (XEXP (dest, 0), 1), 1))
== CONST_INT)
&& (INTVAL (XEXP (XEXP (XEXP (dest, 0), 1), 1))
== -last_sp_adjust)))
&& XEXP (XEXP (dest, 0), 0) == stack_pointer_rtx && XEXP (XEXP (dest, 0), 0) == stack_pointer_rtx
&& ! reg_mentioned_p (stack_pointer_rtx, src) && ! reg_mentioned_p (stack_pointer_rtx, src)
&& memory_address_p (GET_MODE (dest), stack_pointer_rtx) && memory_address_p (GET_MODE (dest), stack_pointer_rtx)
......
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