diff options
author | Richard Henderson <rth@cygnus.com> | 1999-03-13 09:38:17 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-03-13 09:38:17 -0800 |
commit | b452ec852d0c8200297e6fce7205f3090aa8a01c (patch) | |
tree | 46258441c613951e3bc7e91206ed1dec0cf48ec6 /gcc | |
parent | 98941e0190f374aca42970b46a18a2793faa5b88 (diff) | |
download | gcc-b452ec852d0c8200297e6fce7205f3090aa8a01c.zip gcc-b452ec852d0c8200297e6fce7205f3090aa8a01c.tar.gz gcc-b452ec852d0c8200297e6fce7205f3090aa8a01c.tar.bz2 |
* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
From-SVN: r25752
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e2ec7a..3993efa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Mar 13 17:37:18 1999 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET. + Sat Mar 13 11:36:16 1999 Richard Earnshaw (rearnsha@arm.com) * arm.c (arm_split_constant): Don't try to force a constant to diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 8c7e8b58..cc8116b 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -3357,7 +3357,6 @@ sched_analyze_1 (x, insn) for (u = reg_last_uses[regno + i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - reg_last_uses[regno + i] = 0; for (u = reg_last_sets[regno + i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); @@ -3366,6 +3365,7 @@ sched_analyze_1 (x, insn) but sets must be ordered with respect to a pending clobber. */ if (code == SET) { + reg_last_uses[regno + i] = 0; for (u = reg_last_clobbers[regno + i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); SET_REGNO_REG_SET (reg_pending_sets, regno + i); @@ -3386,13 +3386,13 @@ sched_analyze_1 (x, insn) for (u = reg_last_uses[regno]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - reg_last_uses[regno] = 0; for (u = reg_last_sets[regno]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); if (code == SET) { + reg_last_uses[regno] = 0; 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); |