diff options
author | Richard Henderson <rth@cygnus.com> | 1999-06-20 10:29:49 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-06-20 10:29:49 -0700 |
commit | 0adb548cc774081bdc2e81b1e6ef4bbc69185acb (patch) | |
tree | c0fb7b7c9bc2bf7caf0e45841c5ce6fd08aac9c9 | |
parent | 2f76d42cf7ac1d8c7e38e4c46668dbf6be9ac3c0 (diff) | |
download | gcc-0adb548cc774081bdc2e81b1e6ef4bbc69185acb.zip gcc-0adb548cc774081bdc2e81b1e6ef4bbc69185acb.tar.gz gcc-0adb548cc774081bdc2e81b1e6ef4bbc69185acb.tar.bz2 |
haifa-sched.c (sched_analyze_1): Use free_list instead of zapping reg_last_uses directly.
* haifa-sched.c (sched_analyze_1): Use free_list instead of
zapping reg_last_uses directly.
(sched_analyze_2, sched_analyze_insn): Likewise.
(sched_analyze): Likewise. Don't clear reg_last_uses on calls.
From-SVN: r27622
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 12 |
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cbec1cb..92370d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Sun Jun 20 17:27:20 1999 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (sched_analyze_1): Use free_list instead of + zapping reg_last_uses directly. + (sched_analyze_2, sched_analyze_insn): Likewise. + (sched_analyze): Likewise. Don't clear reg_last_uses on calls. + Sun Jun 20 16:57:29 1999 David Edelsohn <edelsohn@gnu.org> * rs6000.md (movdf_hardfloat32): Use worst case insn length diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index c2c4735..7af338a 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -3366,7 +3366,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; + free_list (®_last_uses[regno + i], &unused_insn_list); 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); @@ -3393,7 +3393,7 @@ sched_analyze_1 (x, insn) if (code == SET) { - reg_last_uses[regno] = 0; + free_list (®_last_uses[regno], &unused_insn_list); 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); @@ -3659,7 +3659,7 @@ sched_analyze_2 (x, insn) { for (u = reg_last_uses[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - reg_last_uses[i] = 0; + free_list (®_last_uses[i], &unused_insn_list); for (u = reg_last_sets[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), 0); @@ -3792,7 +3792,7 @@ sched_analyze_insn (x, insn, loop_notes) rtx u; for (u = reg_last_uses[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - reg_last_uses[i] = 0; + free_list (®_last_uses[i], &unused_insn_list); for (u = reg_last_sets[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), 0); @@ -3924,8 +3924,7 @@ sched_analyze (head, tail) { for (u = reg_last_uses[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - - reg_last_uses[i] = 0; + free_list (®_last_uses[i], &unused_insn_list); for (u = reg_last_sets[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), 0); @@ -3952,7 +3951,6 @@ sched_analyze (head, tail) { for (u = reg_last_uses[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); - reg_last_uses[i] = 0; for (u = reg_last_sets[i]; u; u = XEXP (u, 1)) add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); |