rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs as being CLOBBERed.
authorDavid S. Miller <davem@redhat.com>
Mon, 15 Apr 2002 23:12:58 +0000 (16:12 -0700)
committerDavid S. Miller <davem@gcc.gnu.org>
Mon, 15 Apr 2002 23:12:58 +0000 (16:12 -0700)
2002-04-15  David S. Miller  <davem@redhat.com>

* rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
as being CLOBBERed.

From-SVN: r52343

gcc/ChangeLog
gcc/rtlanal.c

index 915a13c7a2bddb8a945b96041ce8eb1ae75d7286..f111f2f2aa985dc5d4d22a72d215bef971059973 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-15  David S. Miller  <davem@redhat.com>
+
+       * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
+       as being CLOBBERed.
+
 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/6290
index 07cb6d8d6a7318bdc1ff0ec2b6203262f942d12d..3d90ae7fde918b64a69caa1b0978e57f6838652f 100644 (file)
@@ -1622,17 +1622,12 @@ note_stores (x, fun, data)
        dest = XEXP (dest, 0);
 
       /* If we have a PARALLEL, SET_DEST is a list of EXPR_LIST expressions,
-        each of whose first operand is a register.  We can't know what
-        precisely is being set in these cases, so make up a CLOBBER to pass
-        to the function.  */
+        each of whose first operand is a register.  */
       if (GET_CODE (dest) == PARALLEL)
        {
          for (i = XVECLEN (dest, 0) - 1; i >= 0; i--)
            if (XEXP (XVECEXP (dest, 0, i), 0) != 0)
-             (*fun) (XEXP (XVECEXP (dest, 0, i), 0),
-                     gen_rtx_CLOBBER (VOIDmode,
-                                      XEXP (XVECEXP (dest, 0, i), 0)),
-                     data);
+             (*fun) (XEXP (XVECEXP (dest, 0, i), 0), x, data);
        }
       else
        (*fun) (dest, x, data);