+2001-01-23 Richard Henderson <rth@redhat.com>
+
+ * flow.c (init_propagate_block_info): Don't consider unchanging
+ memories for dead frame store elimination.
+
2001-01-23 Richard Henderson <rth@redhat.com>
* varasm.c (UNIQUE_SECTION): Move default implementation ...
{
rtx mem = SET_DEST (PATTERN (insn));
+ /* This optimization is performed by faking a store to the
+ memory at the end of the block. This doesn't work for
+ unchanging memories because multiple stores to unchanging
+ memory is illegal and alias analysis doesn't consider it. */
+ if (RTX_UNCHANGING_P (mem))
+ continue;
+
if (XEXP (mem, 0) == frame_pointer_rtx
|| (GET_CODE (XEXP (mem, 0)) == PLUS
&& XEXP (XEXP (mem, 0), 0) == frame_pointer_rtx