summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-30 11:19:15 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-04-30 11:19:15 +0000
commit2683008161d270836f1b95898d0309143da8ca9d (patch)
tree9e8b826628889d387e3016374a29e896ef6a086a /gcc/cse.c
parent6656c40bfbef3f018c62b77e5ee7bc2e83f6fdca (diff)
downloadgcc-2683008161d270836f1b95898d0309143da8ca9d.tar.gz
(cse_insn): Properly set IN_MEMORY for SET_DEST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@9547 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index a4778af8e99..a0c2d744473 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7273,7 +7273,9 @@ cse_insn (insn, in_libcall_block)
elt = insert (dest, sets[i].src_elt,
sets[i].dest_hash, GET_MODE (dest));
- elt->in_memory = GET_CODE (sets[i].inner_dest) == MEM;
+ elt->in_memory = (GET_CODE (sets[i].inner_dest) == MEM
+ && ! RTX_UNCHANGING_P (sets[i].inner_dest));
+
if (elt->in_memory)
{
/* This implicitly assumes a whole struct