From 00c4e97c949ee249c6ed983945d9c0e369dce6e2 Mon Sep 17 00:00:00 2001 From: Andrey Belevantsev Date: Wed, 8 Dec 2010 16:55:57 +0300 Subject: re PR target/43603 (gcc-4.4.3 ICE on ia64 with -O3) PR target/43603 * haifa-sched.c (sched_create_recovery_edges): Update dominator info. * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info after deleting an empty block. (tidy_control_flow): Also verify dominators. (sel_remove_bb): Update dominator info after removing a block. (sel_redirect_edge_and_branch_force): Assert that no unreachable blocks will be created. Update dominator info. (sel_redirect_edge_and_branch): Update dominator info when basic blocks do not become unreachable. (sel_remove_loop_preheader): Update dominator info. From-SVN: r167588 --- gcc/haifa-sched.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/haifa-sched.c') diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index a22baf9..bd3b84c 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -4467,6 +4467,8 @@ sched_create_recovery_edges (basic_block first_bb, basic_block rec, edge_flags = 0; make_single_succ_edge (rec, second_bb, edge_flags); + if (dom_info_available_p (CDI_DOMINATORS)) + set_immediate_dominator (CDI_DOMINATORS, rec, first_bb); } /* This function creates recovery code for INSN. If MUTATE_P is nonzero, -- cgit v1.1