aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/rtlanal.c9
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 915a13c..f111f2f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 07cb6d8..3d90ae7 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -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);