haifa-sched.c (sched_analyze_1): Don't special-case calls for clobbering registers.

* haifa-sched.c (sched_analyze_1): Don't special-case calls
        for clobbering registers.
        (sched_analyze_2): Likewise.
        (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.

From-SVN: r37668
This commit is contained in:
Richard Henderson 2000-11-22 11:22:58 -08:00
parent 10ebf5fe40
commit a165f034f9
2 changed files with 17 additions and 18 deletions

View File

@ -1,10 +1,17 @@
2000-11-22 Chris Demetriou <cgd@sibyte.com>
2000-11-22 Neil Booth <neilb@earthling.net>
2000-11-22 Richard Henderson <rth@redhat.com>
* gcc.c (validate_switches): Validate multiple switches named
in '|' (or) expressions in specs.
(handle_braces): If more than 1 alternative in a '|' spec
matches, call do_spec1 just once.
* haifa-sched.c (sched_analyze_1): Don't special-case calls
for clobbering registers.
(sched_analyze_2): Likewise.
(sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
2000-11-22 Chris Demetriou <cgd@sibyte.com>
Neil Booth <neilb@earthling.net>
* gcc.c (validate_switches): Validate multiple switches named
in '|' (or) expressions in specs.
(handle_braces): If more than 1 alternative in a '|' spec
matches, call do_spec1 just once.
2000-11-22 Michael Meissner <meissner@redhat.com>
@ -107,7 +114,7 @@ Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com>
2000-11-21 Neil Booth <neilb@earthling.net>
* do_includes: Revert to using cpp_read_file.
* do_includes: Revert to using cpp_read_file.
2000-11-21 Bernd Schmidt <bernds@redhat.co.uk>

View File

@ -3384,11 +3384,6 @@ sched_analyze_1 (deps, x, insn)
}
else
SET_REGNO_REG_SET (reg_pending_clobbers, r);
/* Function calls clobber all call_used regs. */
if (global_regs[r] || (code == SET && call_used_regs[r]))
for (u = deps->last_function_call; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
}
}
else
@ -3540,11 +3535,6 @@ sched_analyze_2 (deps, x, insn)
/* ??? This should never happen. */
for (u = deps->reg_last_clobbers[r]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), 0);
if (call_used_regs[r] || global_regs[r])
/* Function calls clobber all call_used regs. */
for (u = deps->last_function_call; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
}
}
else
@ -3987,9 +3977,11 @@ sched_analyze (deps, head, tail)
{
for (u = deps->reg_last_uses[i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
free_INSN_LIST_list (&deps->reg_last_uses[i]);
for (u = deps->reg_last_sets[i]; u; u = XEXP (u, 1))
add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI);
add_dependence (insn, XEXP (u, 0), REG_DEP_OUTPUT);
free_INSN_LIST_list (&deps->reg_last_sets[i]);
SET_REGNO_REG_SET (reg_pending_clobbers, i);
}