From 2bd1e239eed6f64319af87e9f437eab1ca83d63e Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Wed, 27 Jul 2005 16:28:34 +0000 Subject: re PR rtl-optimization/17808 (Scheduler overly conservative in sched-deps) PR rtl-optimization/17808 * sched-deps.c (sched_get_condition): Enable #if 0'ed code. (sched_insns_conditions_mutex_p): Split out from... (add_dependence): ...here. But don't call it from here. (add_dependence_list): Check sched_insns_conditions_mutex_p before calling add_dependence. (add_dependence_list_and_free): Likewise. (fixup_sched_groups): Likewise. (sched_analyze_1): Likewise. (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE). (sched_analyze): Likewise. (sched_analyze_insn): Likewise. * sched-ebb.c (add_deps_for_risky_insns): Likewise. * sched-rgn.c (add_branch_dependences): Likewise. Also, add dependencies on all COND_EXEC insns to jumps ending basic blocks when doing intrablock scheduling. * sched-int.h (sched_insns_conditions_mutex_p): Add prototype. From-SVN: r102433 --- gcc/sched-ebb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc/sched-ebb.c') diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c index c2d7988..58f5d33 100644 --- a/gcc/sched-ebb.c +++ b/gcc/sched-ebb.c @@ -454,7 +454,8 @@ add_deps_for_risky_insns (rtx head, rtx tail) /* We can not change the mode of the backward dependency because REG_DEP_ANTI has the lowest rank. */ - if (add_dependence (insn, prev, REG_DEP_ANTI)) + if (! sched_insns_conditions_mutex_p (insn, prev) + && add_dependence (insn, prev, REG_DEP_ANTI)) add_forward_dependence (prev, insn, REG_DEP_ANTI); break; -- cgit v1.1