expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
authorRichard Henderson <rth@cygnus.com>
Mon, 7 Aug 2000 08:27:54 +0000 (01:27 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 7 Aug 2000 08:27:54 +0000 (01:27 -0700)
        * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
        * expr.c (emit_group_store): Don't set it.

From-SVN: r35546

gcc/ChangeLog
gcc/expmed.c
gcc/expr.c

index ae8c6e0f6aaa1eef987d7456924ae0760bf64067..43ca29524adfe584114c2d81f72a7a060249649b 100644 (file)
@@ -1,3 +1,8 @@
+2000-08-07  Richard Henderson  <rth@cygnus.com>
+
+       * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
+       * expr.c (emit_group_store): Don't set it.
+
 2000-08-07  Kazu Hirata  <kazu@hxi.com>
 
        * invoke.texi (Options for Debugging Your Program or GCC): Remove
index 778e990d819666cb98c4b760872634b4c5b5b66c..e9210a680a36f1efd552da7159d8b2c99a62c9f0 100644 (file)
@@ -245,9 +245,6 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, align, total_size)
   insv_bitsize = GET_MODE_BITSIZE (op_mode);
 #endif
 
-  if (GET_CODE (str_rtx) == MEM && ! MEM_IN_STRUCT_P (str_rtx))
-    abort ();
-
   /* Discount the part of the structure before the desired byte.
      We need to know how many bytes are safe to reference after it.  */
   if (total_size >= 0)
index 02a27ba6b10b21fcdd2dccb5079a436e214273e2..0c609c2eaeb67bfef2586ab6631b7d2fa3b818c1 100644 (file)
@@ -2066,14 +2066,6 @@ emit_group_store (orig_dst, src, ssize, align)
       /* Make life a bit easier for combine.  */
       emit_move_insn (dst, const0_rtx);
     }
-  else if (! MEM_IN_STRUCT_P (dst))
-    {
-      /* store_bit_field requires that memory operations have
-        mem_in_struct_p set; we might not.  */
-
-      dst = copy_rtx (orig_dst);
-      MEM_SET_IN_STRUCT_P (dst, 1);
-    }
 
   /* Process the pieces.  */
   for (i = start; i < XVECLEN (src, 0); i++)