2002-04-15 David S. Miller <davem@redhat.com>
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Apr 2002 23:12:58 +0000 (23:12 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Apr 2002 23:12:58 +0000 (23:12 +0000)
* rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
as being CLOBBERed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52343 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/rtlanal.c

index 915a13c..f111f2f 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 07cb6d8..3d90ae7 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);