aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-12-01 01:08:40 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2000-12-01 01:08:40 +0000
commit95ac07b0f4d9916c7a850e3b427cbc768819d742 (patch)
tree6a6071f96cf902f7c53449a870bec36360038880 /gcc
parentf272085897bc84f411066997160efc131d3f1989 (diff)
downloadgcc-95ac07b0f4d9916c7a850e3b427cbc768819d742.zip
gcc-95ac07b0f4d9916c7a850e3b427cbc768819d742.tar.gz
gcc-95ac07b0f4d9916c7a850e3b427cbc768819d742.tar.bz2
combine.c (try_combine): Disregard USEs when updating LOG_LINKS of subsequent insns.
* combine.c (try_combine): Disregard USEs when updating LOG_LINKS of subsequent insns. From-SVN: r37905
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 44f8a1f..93b0f9d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-30 Alexandre Oliva <aoliva@redhat.com>
+
+ * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
+ of subsequent insns.
+
2000-11-30 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
diff --git a/gcc/combine.c b/gcc/combine.c
index df773aa..1946ba2 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -2553,7 +2553,8 @@ try_combine (i3, i2, i1, new_direct_jump_p)
if (i3_subst_into_i2 && GET_CODE (PATTERN (i2)) == PARALLEL)
{
for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
- if (GET_CODE (SET_DEST (XVECEXP (PATTERN (i2), 0, i))) == REG
+ if (GET_CODE (XVECEXP (PATTERN (i2), 0, i)) != USE
+ && GET_CODE (SET_DEST (XVECEXP (PATTERN (i2), 0, i))) == REG
&& SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest
&& ! find_reg_note (i2, REG_UNUSED,
SET_DEST (XVECEXP (PATTERN (i2), 0, i))))