summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-25 13:14:40 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-25 13:14:40 +0000
commitf6a351a3f4f7f6831fe9919af48c809d19cdb908 (patch)
treec856716ededa6050c016dd3bc3dba3d046e5dd6a /gcc
parentfb873f96362d93ce68e319d74d0ba9e162a3c4d8 (diff)
downloadgcc-f6a351a3f4f7f6831fe9919af48c809d19cdb908.tar.gz
* flow.c (mark_set_1): Do not record BLKmode stores as dead store elimination candidates. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27140 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6cdd3c4a3b4..11ac9b6180c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue May 25 14:06:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * flow.c (mark_set_1): Do not record BLKmode stores as dead
+ store elimination candidates.
+
Tue May 25 08:55:57 1999 Gavin Romig-Koch <gavin@cygnus.com>
* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
diff --git a/gcc/flow.c b/gcc/flow.c
index b46c87ea46a..a519ea8db8c 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3258,6 +3258,9 @@ mark_set_1 (needed, dead, x, insn, significant)
invalidate_mems_from_autoinc (insn);
if (GET_CODE (reg) == MEM && ! side_effects_p (reg)
+ /* We do not know the size of a BLKmode store, so we do not track
+ them for redundant store elimination. */
+ && GET_MODE (reg) != BLKmode
/* There are no REG_INC notes for SP, so we can't assume we'll see
everything that invalidates it. To be safe, don't eliminate any
stores though SP; none of them should be redundant anyway. */