Commit b452ec85 by Richard Henderson Committed by Richard Henderson

* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.

From-SVN: r25752
parent 98941e01
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) 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 * arm.c (arm_split_constant): Don't try to force a constant to
......
...@@ -3357,7 +3357,6 @@ sched_analyze_1 (x, insn) ...@@ -3357,7 +3357,6 @@ sched_analyze_1 (x, insn)
for (u = reg_last_uses[regno + i]; u; u = XEXP (u, 1)) for (u = reg_last_uses[regno + i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); 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)) for (u = reg_last_sets[regno + i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
...@@ -3366,6 +3365,7 @@ sched_analyze_1 (x, insn) ...@@ -3366,6 +3365,7 @@ sched_analyze_1 (x, insn)
but sets must be ordered with respect to a pending clobber. */ but sets must be ordered with respect to a pending clobber. */
if (code == SET) if (code == SET)
{ {
reg_last_uses[regno + i] = 0;
for (u = reg_last_clobbers[regno + i]; u; u = XEXP (u, 1)) for (u = reg_last_clobbers[regno + i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
SET_REGNO_REG_SET (reg_pending_sets, regno + i); SET_REGNO_REG_SET (reg_pending_sets, regno + i);
...@@ -3386,13 +3386,13 @@ sched_analyze_1 (x, insn) ...@@ -3386,13 +3386,13 @@ sched_analyze_1 (x, insn)
for (u = reg_last_uses[regno]; u; u = XEXP (u, 1)) for (u = reg_last_uses[regno]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); 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)) for (u = reg_last_sets[regno]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
if (code == SET) if (code == SET)
{ {
reg_last_uses[regno] = 0;
for (u = reg_last_clobbers[regno]; u; u = XEXP (u, 1)) for (u = reg_last_clobbers[regno]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT); add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
SET_REGNO_REG_SET (reg_pending_sets, regno); SET_REGNO_REG_SET (reg_pending_sets, regno);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment