This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Basic block renumbering removal, part 2
Hello.
> > * 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.
>
> Ok except
>
> > *************** compute_code_hoist_vbeinout ()
> > - if (bb != n_basic_blocks - 1)
> > + if (BASIC_BLOCK (bb)->next_bb != EXIT_BLOCK_PTR)
>
> Surely this should be
>
> bb != EXIT_BLOCK_PTR->prev_bb->index
>
> as we want to get rid of BASIC_BLOCK (N) references?
Would work too; but in fact I want to get rid of relying that (e.g.) last basic
block has number n_basic_blocks - 1, which both satisfy. It does not really
matter -- this will be changed in following (large :-( ) patch to remove
iterations over indices.
Zdenek