https://gcc.gnu.org/g:e1bf218508b6faa2e187328f20b1c4875280f6d1
commit e1bf218508b6faa2e187328f20b1c4875280f6d1 Author: Andrew Pinski <[email protected]> Date: Tue Apr 14 17:57:49 2026 -0700 cfghooks: Remove new_bb_cbk callback from make_forwarder_block This callback seems to be unused since it was allowed to be NULL in r0-78960-g89f8f30f356532 (19 years ago), so let's just remove it. this is also the first step in changing the callback to make_forwarder_block. Bootstrapped and tested on x86_64-linux-gnu. gcc/ChangeLog: * cfghooks.cc (make_forwarder_block): Remove new_bb_cbk argument. * cfghooks.h (make_forwarder_block): Remove last argument. * cfgloop.cc (form_subloop): Update call to make_forwarder_block. (merge_latch_edges): Likewise. * cfgloopmanip.cc (create_preheader): Likewise. * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Likewise. * tree-ssa-threadupdate.cc (fwd_jt_path_registry::thread_through_loop_header): Likewise. Signed-off-by: Andrew Pinski <[email protected]> Diff: --- gcc/cfghooks.cc | 6 +----- gcc/cfghooks.h | 3 +-- gcc/cfgloop.cc | 6 ++---- gcc/cfgloopmanip.cc | 2 +- gcc/tree-cfgcleanup.cc | 3 +-- gcc/tree-ssa-threadupdate.cc | 2 +- 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc index 4596ab2ed854..063639fe1c9a 100644 --- a/gcc/cfghooks.cc +++ b/gcc/cfghooks.cc @@ -926,8 +926,7 @@ merge_blocks (basic_block a, basic_block b) part. Returns the edge connecting the entry part to the rest. */ edge -make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge), - void (*new_bb_cbk) (basic_block)) +make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge)) { edge e, fallthru; edge_iterator ei; @@ -966,9 +965,6 @@ make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge), && dummy->loop_father->header == dummy && dummy->loop_father->latch == e_src) dummy->loop_father->latch = jump; - - if (new_bb_cbk != NULL) - new_bb_cbk (jump); } } diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h index e2e81396b5b2..6cc1b66baef5 100644 --- a/gcc/cfghooks.h +++ b/gcc/cfghooks.h @@ -245,8 +245,7 @@ extern basic_block create_basic_block (gimple_seq, basic_block); extern basic_block create_empty_bb (basic_block); extern bool can_merge_blocks_p (basic_block, basic_block); extern void merge_blocks (basic_block, basic_block); -extern edge make_forwarder_block (basic_block, bool (*)(edge), - void (*) (basic_block)); +extern edge make_forwarder_block (basic_block, bool (*)(edge)); extern basic_block force_nonfallthru (edge); extern void tidy_fallthru_edge (edge); extern void tidy_fallthru_edges (void); diff --git a/gcc/cfgloop.cc b/gcc/cfgloop.cc index 56920848be0e..fc4d635d8b65 100644 --- a/gcc/cfgloop.cc +++ b/gcc/cfgloop.cc @@ -733,8 +733,7 @@ form_subloop (class loop *loop, edge latch) if (e != latch) mfb_reis_set->add (e); } - new_entry = make_forwarder_block (loop->header, mfb_redirect_edges_in_set, - NULL); + new_entry = make_forwarder_block (loop->header, mfb_redirect_edges_in_set); delete mfb_reis_set; loop->header = new_entry->src; @@ -769,8 +768,7 @@ merge_latch_edges (class loop *loop) mfb_reis_set = new hash_set<edge>; FOR_EACH_VEC_ELT (latches, i, e) mfb_reis_set->add (e); - latch = make_forwarder_block (loop->header, mfb_redirect_edges_in_set, - NULL); + latch = make_forwarder_block (loop->header, mfb_redirect_edges_in_set); delete mfb_reis_set; loop->header = latch->dest; diff --git a/gcc/cfgloopmanip.cc b/gcc/cfgloopmanip.cc index 72f7c1896ba9..c953bc95b40f 100644 --- a/gcc/cfgloopmanip.cc +++ b/gcc/cfgloopmanip.cc @@ -1737,7 +1737,7 @@ create_preheader (class loop *loop, int flags) dummy = split_edge (single_entry); else { - edge fallthru = make_forwarder_block (loop->header, mfb_keep_just, NULL); + edge fallthru = make_forwarder_block (loop->header, mfb_keep_just); dummy = fallthru->src; loop->header = fallthru->dest; } diff --git a/gcc/tree-cfgcleanup.cc b/gcc/tree-cfgcleanup.cc index 7fe2b7ad5cbb..c8b1a683824d 100644 --- a/gcc/tree-cfgcleanup.cc +++ b/gcc/tree-cfgcleanup.cc @@ -1192,8 +1192,7 @@ cleanup_tree_cfg_noloop (unsigned ssa_update_flags) create a forwarder. */ if (found_latch && ! any_abnormal && n > 1) { - edge fallthru = make_forwarder_block (bb, mfb_keep_latches, - NULL); + edge fallthru = make_forwarder_block (bb, mfb_keep_latches); loop->header = fallthru->dest; if (! loops_state_satisfies_p (LOOPS_NEED_FIXUP)) { diff --git a/gcc/tree-ssa-threadupdate.cc b/gcc/tree-ssa-threadupdate.cc index d67098df1d56..0e437b145514 100644 --- a/gcc/tree-ssa-threadupdate.cc +++ b/gcc/tree-ssa-threadupdate.cc @@ -1869,7 +1869,7 @@ fwd_jt_path_registry::thread_through_loop_header (class loop *loop, loop->latch = NULL; mfb_kj_edge = single_succ_edge (new_preheader); loop->header = mfb_kj_edge->dest; - latch = make_forwarder_block (tgt_bb, mfb_keep_just, NULL); + latch = make_forwarder_block (tgt_bb, mfb_keep_just); loop->header = latch->dest; loop->latch = latch->src; return true;
