mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
136c35df1c
commit
756d6f0c51
|
|
@ -1,3 +1,8 @@
|
||||||
|
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)
|
||||||
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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue