From 547fdef870a84b90382a9de0bf4aa9e85ba1003a Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 9 Jun 2011 13:55:41 +0000 Subject: [PATCH] re PR target/48673 (GCC generates WAW and RAW conflicts on IA64.) PR target/48673 * config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag in all basic blocks. From-SVN: r174844 --- gcc/ChangeLog | 6 ++++++ gcc/config/ia64/ia64.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b2251e94e63..cbc85ee7a8e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-06-09 Bernd Schmidt + + PR target/48673 + * config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag + in all basic blocks. + 2011-06-09 Rainer Orth * config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove. diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index d6eeb3d7069..b8ffc14debd 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -9394,9 +9394,15 @@ ia64_reorg (void) if (optimize && flag_schedule_insns_after_reload && dbg_cnt (ia64_sched2)) { + basic_block bb; timevar_push (TV_SCHED2); ia64_final_schedule = 1; + /* We can't let modulo-sched prevent us from scheduling any bbs, + since we need the final schedule to produce bundle information. */ + FOR_EACH_BB (bb) + bb->flags &= ~BB_DISABLE_SCHEDULE; + initiate_bundle_states (); ia64_nop = make_insn_raw (gen_nop ()); PREV_INSN (ia64_nop) = NEXT_INSN (ia64_nop) = NULL_RTX; -- 2.30.2