summaryrefslogtreecommitdiff
path: root/gcc/flow.c
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/flow.c
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/flow.c')
-rw-r--r--gcc/flow.c3
1 files changed, 3 insertions, 0 deletions
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. */