function.c (gen_mem_addressof): When changing the RTX from a REG to a MEM...
authorRoger Sayle <roger@eyesopen.com>
Fri, 9 Apr 2004 01:38:12 +0000 (01:38 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Fri, 9 Apr 2004 01:38:12 +0000 (01:38 +0000)
* function.c (gen_mem_addressof): When changing the RTX from a REG
to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.

From-SVN: r80540

gcc/ChangeLog
gcc/function.c

index 7a1823a323e175e705b2c6c3b41e7a694af73623..50fddfe3ee3bb32e8d80980813ef29c6b2efb75b 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-08  Roger Sayle  <roger@eyesopen.com>
+
+       * function.c (gen_mem_addressof): When changing the RTX from a REG
+       to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
+
 2004-04-08  Roger Sayle  <roger@eyesopen.com>
 
        PR target/14888
index 90de28400e50fc05dce37e366225435e3f895940..e03086403353471d00ff4f9fa6013e690c105b79 100644 (file)
@@ -2856,6 +2856,7 @@ gen_mem_addressof (rtx reg, tree decl, int rescan)
   RTX_UNCHANGING_P (XEXP (r, 0)) = RTX_UNCHANGING_P (reg);
 
   PUT_CODE (reg, MEM);
+  MEM_VOLATILE_P (reg) = 0;
   MEM_ATTRS (reg) = 0;
   XEXP (reg, 0) = r;
 
@@ -2888,11 +2889,9 @@ gen_mem_addressof (rtx reg, tree decl, int rescan)
     {
       /* This can only happen during reload.  Clear the same flag bits as
         reload.  */
-      MEM_VOLATILE_P (reg) = 0;
       RTX_UNCHANGING_P (reg) = 0;
       MEM_IN_STRUCT_P (reg) = 0;
       MEM_SCALAR_P (reg) = 0;
-      MEM_ATTRS (reg) = 0;
 
       fixup_var_refs (reg, GET_MODE (reg), 0, reg, 0);
     }