From 345ac34a19ee8fefc1d767f4eb9103a781c641d3 Mon Sep 17 00:00:00 2001 From: rakdver Date: Tue, 21 May 2002 20:37:43 +0000 Subject: * bb-reorder.c (make_reorder_chain_1): Modified. * cfganal.c (can_fallthru, flow_call_edges_add, flow_preorder_transversal_compute): Modified. * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks): Modified. * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Modified. * cfglayout.c (skip_insns_after_block, fixup_reorder_chain, fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Modified. * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Modified. * combine.c (this_basic_block): Type changed to basic_block. (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate, get_last_value, distribute_notes, distribute_links): Modified. * final.c (compute_alignments): Modified. * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Modified. * function.c (thread_prologue_and_epilogue_insns): Modified. * gcse.c (compute_code_hoist_vbeinout): Modified. * global.c (build_insn_chain): Modified. * ifcvt.c (find_if_block, find_cond_trap): Modified. * predict.c (last_basic_block_p, note_prediction_to_br_prob): Modified. * regmove.c (regmove_optimize): Modified. * resource.c (find_basic_block): Modified. * sched-ebb.c (schedule_ebbs): Modified. * ssa-dce.c (find_control_dependence, find_pdom): Modified. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53695 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/predict.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gcc/predict.c') diff --git a/gcc/predict.c b/gcc/predict.c index b0be982761d..ce8ed2d0449 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -695,10 +695,13 @@ static bool last_basic_block_p (bb) basic_block bb; { - return (bb->index == n_basic_blocks - 1 - || (bb->index == n_basic_blocks - 2 + if (bb == EXIT_BLOCK_PTR) + return false; + + return (bb->next_bb == EXIT_BLOCK_PTR + || (bb->next_bb->next_bb == EXIT_BLOCK_PTR && bb->succ && !bb->succ->succ_next - && bb->succ->dest->index == n_basic_blocks - 1)); + && bb->succ->dest->next_bb == EXIT_BLOCK_PTR)); } /* Sets branch probabilities according to PREDiction and FLAGS. HEADS[bb->index] @@ -847,7 +850,7 @@ note_prediction_to_br_prob () heads = xmalloc (sizeof (int) * n_basic_blocks); memset (heads, -1, sizeof (int) * n_basic_blocks); - heads[0] = n_basic_blocks; + heads[ENTRY_BLOCK_PTR->next_bb->index] = n_basic_blocks; /* Process all prediction notes. */ -- cgit v1.2.1