summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-24 19:29:34 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-24 19:29:34 +0000
commit43c3808d513ce4aef22c0d67eb3bae55c65bf909 (patch)
tree5be6340878f5c9dd2013148f3be610f53e93c498 /gcc/combine.c
parent68428177e8f0bfc47d6cc0b0be13a79dc1a70b2e (diff)
downloadgcc-43c3808d513ce4aef22c0d67eb3bae55c65bf909.tar.gz
PR middle-end/24952
* combine.c (try_combine): Explicitly check whether GET_CODE is a SET or a CLOBBER, instead on checking that it isn't a USE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111425 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 9240b32568a..d6f107906eb 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3123,7 +3123,8 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
if (i3_subst_into_i2)
{
for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
- if (GET_CODE (XVECEXP (PATTERN (i2), 0, i)) != USE
+ if ((GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == SET
+ || GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == CLOBBER)
&& REG_P (SET_DEST (XVECEXP (PATTERN (i2), 0, i)))
&& SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest
&& ! find_reg_note (i2, REG_UNUSED,