diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cse.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5be4fa0..e999c38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com> + + * cse.c (cse_insn): Don't record BLKmode values. + Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com) * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches. @@ -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 |