(invalidate_skipped_set): Promote "nonscalar" to "all".
authorRichard Stallman <rms@gnu.org>
Mon, 14 Jun 1993 23:16:31 +0000 (23:16 +0000)
committerRichard Stallman <rms@gnu.org>
Mon, 14 Jun 1993 23:16:31 +0000 (23:16 +0000)
From-SVN: r4679

gcc/cse.c

index 0e1fe8431c17c49381ca5c9fca398c216e1aae09..d616217d21249eefec6a71e991caa524cd6cf6ae 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7323,6 +7323,12 @@ invalidate_skipped_set (dest, set)
   if (GET_CODE (dest) == MEM)
     note_mem_written (dest, &skipped_writes_memory);
 
+  /* There are times when an address can appear varying and be a PLUS
+     during this scan when it would be a fixed address were we to know
+     the proper equivalences.  So promote "nonscalar" to be "all".  */
+  if (skipped_writes_memory.nonscalar)
+    skipped_writes_memory.all = 1;
+
   if (GET_CODE (dest) == REG || GET_CODE (dest) == SUBREG
       || (! skipped_writes_memory.all && ! cse_rtx_addr_varies_p (dest)))
     invalidate (dest);