diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e61d29362ba0362601326eb0f81d56de164324e4..3a5dea4fcd58f5acd612d700453f4b21260c215b 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 ca9040c35970b469b1357528779897884fbbb739..8c7e8b58047eb746560cea2484abf91d47cdb35c 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);