[{"id":3677513,"web_url":"http://patchwork.ozlabs.org/comment/3677513/","msgid":"<CAFiYyc2J_D_0HVvt5zHJJ8e29ork-b0pCFkz1hxodRbAVYyaOA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-15T07:27:39","subject":"Re: [GCC17-PATCH] cfghooks: Remove new_bb_cbk callback from\n make_forwarder_block","submitter":{"id":1765,"url":"http://patchwork.ozlabs.org/api/people/1765/","name":"Richard Biener","email":"richard.guenther@gmail.com"},"content":"On Wed, Apr 15, 2026 at 8:30 AM Andrew Pinski\n<andrew.pinski@oss.qualcomm.com> wrote:\n>\n> This callback seems to be unused since it was allowed to be NULL\n> in r0-78960-g89f8f30f356532 (19 years ago), so let's just remove it.\n> this is also the first step in changing the callback to make_forwarder_block.\n>\n> Bootstrapped and tested on x86_64-linux-gnu.\n\nOK\n\n> gcc/ChangeLog:\n>\n>         * cfghooks.cc (make_forwarder_block): Remove new_bb_cbk argument.\n>         * cfghooks.h (make_forwarder_block): Remove last argument.\n>         * cfgloop.cc (form_subloop): Update call to make_forwarder_block.\n>         (merge_latch_edges): Likewise.\n>         * cfgloopmanip.cc (create_preheader): Likewise.\n>         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Likewise.\n>         * tree-ssa-threadupdate.cc\n>         (fwd_jt_path_registry::thread_through_loop_header): Likewise.\n>\n> Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>\n> ---\n>  gcc/cfghooks.cc              | 6 +-----\n>  gcc/cfghooks.h               | 3 +--\n>  gcc/cfgloop.cc               | 6 ++----\n>  gcc/cfgloopmanip.cc          | 2 +-\n>  gcc/tree-cfgcleanup.cc       | 3 +--\n>  gcc/tree-ssa-threadupdate.cc | 2 +-\n>  6 files changed, 7 insertions(+), 15 deletions(-)\n>\n> diff --git a/gcc/cfghooks.cc b/gcc/cfghooks.cc\n> index 4596ab2ed85..063639fe1c9 100644\n> --- a/gcc/cfghooks.cc\n> +++ b/gcc/cfghooks.cc\n> @@ -926,8 +926,7 @@ merge_blocks (basic_block a, basic_block b)\n>     part.  Returns the edge connecting the entry part to the rest.  */\n>\n>  edge\n> -make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge),\n> -                     void (*new_bb_cbk) (basic_block))\n> +make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge))\n>  {\n>    edge e, fallthru;\n>    edge_iterator ei;\n> @@ -966,9 +965,6 @@ make_forwarder_block (basic_block bb, bool (*redirect_edge_p) (edge),\n>                && dummy->loop_father->header == dummy\n>                && dummy->loop_father->latch == e_src)\n>              dummy->loop_father->latch = jump;\n> -\n> -          if (new_bb_cbk != NULL)\n> -            new_bb_cbk (jump);\n>          }\n>      }\n>\n> diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h\n> index e2e81396b5b..6cc1b66baef 100644\n> --- a/gcc/cfghooks.h\n> +++ b/gcc/cfghooks.h\n> @@ -245,8 +245,7 @@ extern basic_block create_basic_block (gimple_seq, basic_block);\n>  extern basic_block create_empty_bb (basic_block);\n>  extern bool can_merge_blocks_p (basic_block, basic_block);\n>  extern void merge_blocks (basic_block, basic_block);\n> -extern edge make_forwarder_block (basic_block, bool (*)(edge),\n> -                                 void (*) (basic_block));\n> +extern edge make_forwarder_block (basic_block, bool (*)(edge));\n>  extern basic_block force_nonfallthru (edge);\n>  extern void tidy_fallthru_edge (edge);\n>  extern void tidy_fallthru_edges (void);\n> diff --git a/gcc/cfgloop.cc b/gcc/cfgloop.cc\n> index 56920848be0..fc4d635d8b6 100644\n> --- a/gcc/cfgloop.cc\n> +++ b/gcc/cfgloop.cc\n> @@ -733,8 +733,7 @@ form_subloop (class loop *loop, edge latch)\n>        if (e != latch)\n>         mfb_reis_set->add (e);\n>      }\n> -  new_entry = make_forwarder_block (loop->header, mfb_redirect_edges_in_set,\n> -                                   NULL);\n> +  new_entry = make_forwarder_block (loop->header, mfb_redirect_edges_in_set);\n>    delete mfb_reis_set;\n>\n>    loop->header = new_entry->src;\n> @@ -769,8 +768,7 @@ merge_latch_edges (class loop *loop)\n>        mfb_reis_set = new hash_set<edge>;\n>        FOR_EACH_VEC_ELT (latches, i, e)\n>         mfb_reis_set->add (e);\n> -      latch = make_forwarder_block (loop->header, mfb_redirect_edges_in_set,\n> -                                   NULL);\n> +      latch = make_forwarder_block (loop->header, mfb_redirect_edges_in_set);\n>        delete mfb_reis_set;\n>\n>        loop->header = latch->dest;\n> diff --git a/gcc/cfgloopmanip.cc b/gcc/cfgloopmanip.cc\n> index 72f7c1896ba..c953bc95b40 100644\n> --- a/gcc/cfgloopmanip.cc\n> +++ b/gcc/cfgloopmanip.cc\n> @@ -1737,7 +1737,7 @@ create_preheader (class loop *loop, int flags)\n>      dummy = split_edge (single_entry);\n>    else\n>      {\n> -      edge fallthru = make_forwarder_block (loop->header, mfb_keep_just, NULL);\n> +      edge fallthru = make_forwarder_block (loop->header, mfb_keep_just);\n>        dummy = fallthru->src;\n>        loop->header = fallthru->dest;\n>      }\n> diff --git a/gcc/tree-cfgcleanup.cc b/gcc/tree-cfgcleanup.cc\n> index 4cf754f5e56..ab3c8c30893 100644\n> --- a/gcc/tree-cfgcleanup.cc\n> +++ b/gcc/tree-cfgcleanup.cc\n> @@ -1164,8 +1164,7 @@ cleanup_tree_cfg_noloop (unsigned ssa_update_flags)\n>                create a forwarder.  */\n>             if (found_latch && ! any_abnormal && n > 1)\n>               {\n> -               edge fallthru = make_forwarder_block (bb, mfb_keep_latches,\n> -                                                     NULL);\n> +               edge fallthru = make_forwarder_block (bb, mfb_keep_latches);\n>                 loop->header = fallthru->dest;\n>                 if (! loops_state_satisfies_p (LOOPS_NEED_FIXUP))\n>                   {\n> diff --git a/gcc/tree-ssa-threadupdate.cc b/gcc/tree-ssa-threadupdate.cc\n> index d67098df1d5..0e437b14551 100644\n> --- a/gcc/tree-ssa-threadupdate.cc\n> +++ b/gcc/tree-ssa-threadupdate.cc\n> @@ -1869,7 +1869,7 @@ fwd_jt_path_registry::thread_through_loop_header (class loop *loop,\n>    loop->latch = NULL;\n>    mfb_kj_edge = single_succ_edge (new_preheader);\n>    loop->header = mfb_kj_edge->dest;\n> -  latch = make_forwarder_block (tgt_bb, mfb_keep_just, NULL);\n> +  latch = make_forwarder_block (tgt_bb, mfb_keep_just);\n>    loop->header = latch->dest;\n>    loop->latch = latch->src;\n>    return true;\n> --\n> 2.43.0\n>","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Ol1flbw6;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Ol1flbw6","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=209.85.218.53"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwXn56qm1z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 17:28:24 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id D57684BA2E15\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 07:28:22 +0000 (GMT)","from mail-ej1-f53.google.com (mail-ej1-f53.google.com\n [209.85.218.53])\n by sourceware.org (Postfix) with ESMTPS id 4030E4BA2E13\n for <gcc-patches@gcc.gnu.org>; Wed, 15 Apr 2026 07:27:54 +0000 (GMT)","by mail-ej1-f53.google.com with SMTP id\n a640c23a62f3a-b932fe2e1a7so888599766b.1\n for <gcc-patches@gcc.gnu.org>; Wed, 15 Apr 2026 00:27:54 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org D57684BA2E15","OpenDKIM Filter v2.11.0 sourceware.org 4030E4BA2E13"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 4030E4BA2E13","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 4030E4BA2E13","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1776238074; cv=pass;\n b=kWZkPMkoZaZ94vi+Vvt3aGnf2N4x8j8Ypk7OoTbuguNXeux7JmqPmH7jBPzmrXt5GwkTelPjP3IU0T6iDpL2EKkiwHZqiZFoWWBsZ+bm7Z95DJ3OojJuK+oe0uHWxXQ+FUHsL/LO4Mpbc6YmusoxmXO2Vy85vlGskAgXpq0gW+k=","i=1; a=rsa-sha256; t=1776238073; cv=none;\n d=google.com; s=arc-20240605;\n b=cs9yWTKK1tBUYjuyIheGBvO0zAcp67JnvdrzZlXkbz1TTvYxfLcI3/8+omMlIz31h7\n kTHjmMzUxzqSVmCN015aHRxzFEkl8L7LdaFYiYaD6boXHSh8DOmNuGKkV+JECQV1WrVU\n RRZXAiZ8/wPYe8WDywJ7yqYv2WyQn595cgTQXDB5N84PlFiyQ9U4wGi+18bc0Wq9zklA\n 37w+qS53rNNU1rPcYu3hDa1Ma+3chCjC4AxQFvUkKOHa68vryrBRUj5B4m/0yPoLWxf/\n UolMtsX8n4CIAJmyILkUdG2Dh8tdvxRYHqP66HrcOAz9maF6aB4XEi0BFi9CuS3xxXzb\n 45gQ=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776238074; c=relaxed/simple;\n bh=kOvY5AdRm1mIdO7ATvynF1953M9wH9YYUNj8tEzmhKc=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=qeLoeuPDDuRKy6q6gEOLODz2Ml+z9H873sdzD2+GAk8BR+yJWx3Zxsmub/chG36bftiAErPG/OONK+8i7FHaXOuiREygPA7dPKaHdff/TrTgZQbmNIh2UF0DFNuavzrvtVEcug0Etsv4Par6HSjvxMWwu2eZr67WE0P4n08XC4M=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=gUO8u6bVolcD1DUt0WIemLaJoJMSPl5BHCCWak5jgds=;\n fh=+uEDwx55CzEWtNA/tzpV1shOHaMh+Xh7AN17D33930Y=;\n b=KbYQInFaJagc1hjuSQ08CjQLrsvupAOeZwGJejdZmjJeP7UpUPPJydnP1QAkZURyJZ\n 9jteS8dTp/l/nJ6wKHnQYTbabnbB5sLMMwYLbgmg0E1CgNABWcj1edu/pAJbJc9sEffk\n y++Rphz/1C5beVOGuf5mlT2N93MybYkPVJoBVP0Wi46mgYm8GDSNuPhqtuycRygnpxHb\n p+jw1M4z+6Egd6ewW7Tf+Y9m8lBVzc+X+4pXSUUtvs7JteRYdLyd2iZib+x5NjCC9ivV\n gXfal7r6KSTic4TF0vReVRErYmnLyH9fTLEH4M1iVo9tN8tDbAV4AWsbOyUJRYkcgWoa\n Vy+w==; darn=gcc.gnu.org"],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776238073; x=1776842873; darn=gcc.gnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=gUO8u6bVolcD1DUt0WIemLaJoJMSPl5BHCCWak5jgds=;\n b=Ol1flbw6CPCu1dYVn8a80rwligpFbe77SDp88+6vtCQqBhpPWdT97FULTHyka/P+F3\n JBt9HpIgVEiFcD61R5cn+FQ3IsnpwnpNYz7KZifIR59ZZSaOyoyeLzCSw6GqbZ4TcC3z\n a/S13UJHvBHkuIBY7n/dFz+W1YbTRrxDG/E75vC4hcSHMS4cMooWz9pcA9wwWXm0YANA\n h8NpaL7yvMJsw/Nw7pNv4fjA5WqfwKWMrZU7YjpQu123Iq4CWhxebjeN8TACXiTSH274\n EjvEpMNp/CjPcJ+S1O8+dgomuGEMQ3rPSuibI3aX2U3hzUVtxDXx2ot40AyXNcHMPKwE\n etzw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776238073; x=1776842873;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=gUO8u6bVolcD1DUt0WIemLaJoJMSPl5BHCCWak5jgds=;\n b=J8IQcmJeSD3M/61YmEtV9joyn5s/4ymoRbXhStrViVCdwwhtQnPagpYXgji93pkfE7\n AuDq7nvUR0JABwZ0IznhIbxne9fG+LlHorrIXsVL3pZYQdyrRm2qVwnSJTdEOHT1X5ZZ\n E6beIkte2msg4ZuJ4yn+NP3C1FjlgfhIEWwskdsLkW8M5GZYFq+rso0OEk9tFg3Ts65R\n IfSYGD1RcUH4WHbGSAuzdqQ+IgNCdk96Xb9l9JjxDGv4KOY/byAeMPJKFaTTrkGieab/\n XMKFxTco6L89D43NYOq5OudaIJwpcS5elNAjAgSIw9iLZvgpev5Xa0PKaytO22Lr50Tg\n ANuA==","X-Gm-Message-State":"AOJu0YzFbyh9KcKdqlLOjaP+crGINHTxcb0pJsq+zUOqj63bcDEM6IqU\n lNLZx2ekIBmnk6DY4BHmqQKJeIjeBzKqaOFKKF5BfWM+D/cxNKAPzKNwWcFL6B7lw3Mr4cUS0EF\n TedWEuku0/3Dehb2vmZfika11aFTfHMzi4g==","X-Gm-Gg":"AeBDiesMA+0C48fcsrZig70LS26pgmdm1mHUGHRop8yqcRCaXZhzuy/2Qcap6BxrDR3\n bgHRdLwMfutAwb6p2YiAwBdRQ1NQwT81Mi2VYhdv9cJSo2Grhs//ssFh6wzAFyBH5GiopwIW2wA\n J1ivpx7tjzb4u3aiZZoS/DN7S98hY/ZGC4QINMxuCbBGkN45Kiv7AmYRh26CkMNXaFqtGrqYcup\n xDgjR0/it9lFRgPEDwdFGpJTt/3Ev6k5J2DMgt/U31vlC3cAJMXuxW3eRGQR9ElF+wDC7SJ/Mq2\n tbAiTi0WPbx2cyd+","X-Received":"by 2002:a17:907:1ca2:b0:b9d:b358:f3ff with SMTP id\n a640c23a62f3a-b9db3593a21mr897142466b.44.1776238072554; Wed, 15 Apr 2026\n 00:27:52 -0700 (PDT)","MIME-Version":"1.0","References":"<20260415062947.1987996-1-andrew.pinski@oss.qualcomm.com>","In-Reply-To":"<20260415062947.1987996-1-andrew.pinski@oss.qualcomm.com>","From":"Richard Biener <richard.guenther@gmail.com>","Date":"Wed, 15 Apr 2026 09:27:39 +0200","X-Gm-Features":"AQROBzA1-UhNDtlqtzLW9axAxhdYx2ADfJO6RTpXhv9fnrgKGIbrSU5DiZ4deN0","Message-ID":"\n <CAFiYyc2J_D_0HVvt5zHJJ8e29ork-b0pCFkz1hxodRbAVYyaOA@mail.gmail.com>","Subject":"Re: [GCC17-PATCH] cfghooks: Remove new_bb_cbk callback from\n make_forwarder_block","To":"Andrew Pinski <andrew.pinski@oss.qualcomm.com>","Cc":"gcc-patches@gcc.gnu.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}}]