summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-09-01 23:43:03 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1997-09-01 23:43:03 +0000
commit6510de0556d2cbe0d0ba3804b21fcfb2b55096d1 (patch)
tree40629c2ab1050508acae13b148ea2288061ae7da /gcc/cse.c
parent156f99f3494a660c5c1abc5e0f0f423fbc58715a (diff)
downloadgcc-6510de0556d2cbe0d0ba3804b21fcfb2b55096d1.tar.gz
Fix irix6 execute/921117-1.c c-torture failure.
* cse.c (cse_insn): Don't record BLKmode values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15024 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 096a630aeb4..71bc3584432 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7297,6 +7297,10 @@ cse_insn (insn, in_libcall_block)
if ((flag_float_store
&& GET_CODE (dest) == MEM
&& FLOAT_MODE_P (GET_MODE (dest)))
+ /* Don't record BLKmode values, because we don't know the
+ size of it, and can't be sure that other BLKmode values
+ have the same or smaller size. */
+ || GET_MODE (dest) == BLKmode
/* Don't record values of destinations set inside a libcall block
since we might delete the libcall. Things should have been set
up so we won't want to reuse such a value, but we play it safe