Commit c995fea1 by Richard Henderson Committed by Jeff Law

haifa-sched.c (schedule_insns): Correctly remove inter-block dependencies after reload.

        * haifa-sched.c (schedule_insns): Correctly remove inter-block
        dependencies after reload.

From-SVN: r17346
parent 88ea0ad1
Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
* haifa-sched.c (schedule_insns): Correctly remove inter-block
dependencies after reload.
Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com> Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
* rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__. * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
......
...@@ -8533,16 +8533,23 @@ schedule_insns (dump_file) ...@@ -8533,16 +8533,23 @@ schedule_insns (dump_file)
for (b = 0; b < n_basic_blocks; b++) for (b = 0; b < n_basic_blocks; b++)
for (insn = basic_block_head[b];; insn = NEXT_INSN (insn)) for (insn = basic_block_head[b];; insn = NEXT_INSN (insn))
{ {
rtx link; rtx link, prev;
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i') if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
{ {
for (link = LOG_LINKS (insn); link; link = XEXP (link, 1)) prev = NULL_RTX;
link = LOG_LINKS (insn);
while (link)
{ {
rtx x = XEXP (link, 0); rtx x = XEXP (link, 0);
if (INSN_BLOCK (x) != b) if (INSN_BLOCK (x) != b)
remove_dependence (insn, x); {
remove_dependence (insn, x);
link = prev ? XEXP (prev, 1) : LOG_LINKS (insn);
}
else
prev = link, link = XEXP (prev, 1);
} }
} }
......
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