sched-deps.c (sched_analyze_insn): Make sure to add insn to reg_last->sets after flushing the dependency lists to...

* sched-deps.c (sched_analyze_insn): Make sure to add insn
        to reg_last->sets after flushing the dependency lists to guarantee
        that subsequent clobbers will be dependent on it.

From-SVN: r56930
This commit is contained in:
Glen Nakamura 2002-09-07 20:43:38 -07:00 committed by Richard Henderson
parent 496f36ad08
commit 4ef6b36773
2 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2002-09-07 Glen Nakamura <glen@imodulo.com>
* sched-deps.c (sched_analyze_insn): Make sure to add insn
to reg_last->sets after flushing the dependency lists to guarantee
that subsequent clobbers will be dependent on it.
2002-09-07 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
@ -35,8 +41,8 @@
2002-08-29 Rodney Brown <rbrown64@csc.com.au>
* doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
memory exhausted" workarounds.
* doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
memory exhausted" workarounds.
2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
@ -58,10 +64,10 @@
2002-08-23 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (rs6000_select_section): Treat
DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
default.
(rs6000_unique_section): Likewise.
* config/rs6000/rs6000.c (rs6000_select_section): Treat
DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
default.
(rs6000_unique_section): Likewise.
2002-08-22 Jason Merrill <jason@redhat.com>

View File

@ -1118,8 +1118,6 @@ sched_analyze_insn (deps, x, insn, loop_notes)
EXECUTE_IF_SET_IN_REG_SET (reg_pending_clobbers, 0, i,
{
struct deps_reg *reg_last = &deps->reg_last[i];
add_dependence_list (insn, reg_last->sets, REG_DEP_OUTPUT);
add_dependence_list (insn, reg_last->uses, REG_DEP_ANTI);
if (reg_last->uses_length > MAX_PENDING_LIST_LENGTH
|| reg_last->clobbers_length > MAX_PENDING_LIST_LENGTH)
{
@ -1129,6 +1127,7 @@ sched_analyze_insn (deps, x, insn, loop_notes)
REG_DEP_ANTI);
add_dependence_list_and_free (insn, &reg_last->clobbers,
REG_DEP_OUTPUT);
reg_last->sets = alloc_INSN_LIST (insn, reg_last->sets);
reg_last->clobbers_length = 0;
reg_last->uses_length = 0;
}