diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5be4fa09d18..e999c3871b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 1 16:25:34 1997 Jim Wilson + + * 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. 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