From 8cff2a9522fcd7b7af3181f73aa91a2fce666722 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Tue, 15 Jun 2004 11:58:40 +0000 Subject: [PATCH] cfglayout.c (fixup_reorder_chain): Handle case where the destination of E_TAKEN is EXIT_BLOCK_PTR. * cfglayout.c (fixup_reorder_chain): Handle case where the destination of E_TAKEN is EXIT_BLOCK_PTR. From-SVN: r83179 --- gcc/ChangeLog | 5 +++++ gcc/cfglayout.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c953a16d74..24b12e32ec4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-06-15 J"orn Rennecke + + * cfglayout.c (fixup_reorder_chain): Handle case where the + destination of E_TAKEN is EXIT_BLOCK_PTR. + 2004-06-15 Diego Novillo * tree-ssa-copy.c (cprop_into_successor_phis): Fix typo. diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c index 66742686e16..ca3913f5fdf 100644 --- a/gcc/cfglayout.c +++ b/gcc/cfglayout.c @@ -733,13 +733,15 @@ fixup_reorder_chain (void) /* Otherwise we can try to invert the jump. This will basically never fail, however, keep up the pretense. */ else if (invert_jump (bb_end_insn, - label_for_bb (e_fall->dest), 0)) + (e_fall->dest == EXIT_BLOCK_PTR + ? NULL_RTX + : label_for_bb (e_fall->dest)), 0)) { + e_fall->flags &= ~EDGE_FALLTHRU; #ifdef ENABLE_CHECKING if (!could_fall_through (e_taken->src, e_taken->dest)) abort (); #endif - e_fall->flags &= ~EDGE_FALLTHRU; e_taken->flags |= EDGE_FALLTHRU; update_br_prob_note (bb); continue; -- 2.30.2