From e344dbf315197023671560d95663f162483c32f4 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Fri, 30 Apr 2004 11:28:57 +0000 Subject: [PATCH] flow.c (propagate_one_insn): Call mark_set_regs for stack pointer updates too. * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer updates too. From-SVN: r81334 --- gcc/ChangeLog | 5 +++++ gcc/flow.c | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a972e93d6ea..cdf801a8629 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-30 J"orn Rennecke + + * flow.c (propagate_one_insn): Call mark_set_regs for stack pointer + updates too. + 2004-04-30 Paul Brook * arm.c (arm_needs_doubleword_align): Use mode alignment. diff --git a/gcc/flow.c b/gcc/flow.c index 686292cf9ab..1cd08230c8e 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -1707,12 +1707,18 @@ propagate_one_insn (struct propagate_block_info *pbi, rtx insn) && GET_CODE (SET_SRC (PATTERN (insn))) == PLUS && XEXP (SET_SRC (PATTERN (insn)), 0) == stack_pointer_rtx && GET_CODE (XEXP (SET_SRC (PATTERN (insn)), 1)) == CONST_INT) - /* We have an insn to pop a constant amount off the stack. - (Such insns use PLUS regardless of the direction of the stack, - and any insn to adjust the stack by a constant is always a pop.) - These insns, if not dead stores, have no effect on life, though - they do have an effect on the memory stores we are tracking. */ - invalidate_mems_from_set (pbi, stack_pointer_rtx); + { + /* We have an insn to pop a constant amount off the stack. + (Such insns use PLUS regardless of the direction of the stack, + and any insn to adjust the stack by a constant is always a pop + or part of a push.) + These insns, if not dead stores, have no effect on life, though + they do have an effect on the memory stores we are tracking. */ + invalidate_mems_from_set (pbi, stack_pointer_rtx); + /* Still, we need to update local_set, lest ifcvt.c:dead_or_predicable + concludes that the stack pointer is not modified. */ + mark_set_regs (pbi, PATTERN (insn), insn); + } else { rtx note; -- 2.30.2