Commit 240f9c2b by Richard Henderson Committed by Richard Henderson

flow.c (init_propagate_block_info): Don't consider unchanging memories for dead…

flow.c (init_propagate_block_info): Don't consider unchanging memories for dead frame store elimination.

        * flow.c (init_propagate_block_info): Don't consider unchanging
        memories for dead frame store elimination.

From-SVN: r39222
parent fc9f395a
2001-01-23 Richard Henderson <rth@redhat.com> 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 ... * varasm.c (UNIQUE_SECTION): Move default implementation ...
* defaults.h: ... here. * defaults.h: ... here.
......
...@@ -4100,6 +4100,13 @@ init_propagate_block_info (bb, live, local_set, cond_local_set, flags) ...@@ -4100,6 +4100,13 @@ init_propagate_block_info (bb, live, local_set, cond_local_set, flags)
{ {
rtx mem = SET_DEST (PATTERN (insn)); 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 if (XEXP (mem, 0) == frame_pointer_rtx
|| (GET_CODE (XEXP (mem, 0)) == PLUS || (GET_CODE (XEXP (mem, 0)) == PLUS
&& XEXP (XEXP (mem, 0), 0) == frame_pointer_rtx && XEXP (XEXP (mem, 0), 0) == frame_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