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
This commit is contained in:
parent
fc9f395ad2
commit
240f9c2b13
@ -1,3 +1,8 @@
|
||||
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 ...
|
||||
|
@ -4100,6 +4100,13 @@ init_propagate_block_info (bb, live, local_set, cond_local_set, flags)
|
||||
{
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user