From 79ba58ef680bf23f7ae886be3259e0cead8ecd21 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 4 Apr 2001 15:56:36 +0000 Subject: Partially revert previous change From-SVN: r41085 --- gcc/sched-deps.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gcc/sched-deps.c') diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 0d13a20..0bb9386 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -1022,12 +1022,13 @@ sched_analyze_insn (deps, x, insn, loop_notes) if (GET_CODE (insn) == JUMP_INSN) { - rtx next, u; + rtx next; next = next_nonnote_insn (insn); if (next && GET_CODE (next) == BARRIER) schedule_barrier_found = 1; else { + rtx pending, pending_mem, u; regset_head tmp; INIT_REG_SET (&tmp); @@ -1042,6 +1043,19 @@ sched_analyze_insn (deps, x, insn, loop_notes) }); CLEAR_REG_SET (&tmp); + + pending = deps->pending_write_insns; + pending_mem = deps->pending_write_mems; + while (pending) + { + add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT); + + pending = XEXP (pending, 1); + pending_mem = XEXP (pending_mem, 1); + } + + for (u = deps->last_pending_memory_flush; u; u = XEXP (u, 1)) + add_dependence (insn, XEXP (u, 0), REG_DEP_ANTI); } } -- cgit v1.1