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;

Reply via email to