From 7399257b1eea7fb8285244c3ba58247484b60c40 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@cygnus.com>
Date: Mon, 8 Mar 1999 15:45:12 -0800
Subject: [PATCH] haifa-sched.c (sched_analyze_1): Fix last change -- add
 clobber dependancies to sets in the non-hard-reg case too.

        * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
        dependancies to sets in the non-hard-reg case too.

From-SVN: r25648
---
 gcc/ChangeLog     | 5 +++++
 gcc/haifa-sched.c | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e61d29362ba0..3a5dea4fcd58 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
+
+	* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
+	dependancies to sets in the non-hard-reg case too.
+
 Mon Mar  8 18:55:21 1999  Marc Espie <espie@cvs.openbsd.org>
 
         * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c
index ca9040c35970..8c7e8b58047e 100644
--- a/gcc/haifa-sched.c
+++ b/gcc/haifa-sched.c
@@ -3392,7 +3392,11 @@ sched_analyze_1 (x, insn)
 	    add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
 
 	  if (code == SET)
-	    SET_REGNO_REG_SET (reg_pending_sets, regno);
+	    {
+	      for (u = reg_last_clobbers[regno]; u; u = XEXP (u, 1))
+		add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
+	      SET_REGNO_REG_SET (reg_pending_sets, regno);
+	    }
 	  else
 	    SET_REGNO_REG_SET (reg_pending_clobbers, regno);
 
-- 
GitLab