https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121829

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <[email protected]>:

https://gcc.gnu.org/g:e9c2a69fe6fe1a20f8ad7b37ecbb3877cd14c514

commit r16-3795-ge9c2a69fe6fe1a20f8ad7b37ecbb3877cd14c514
Author: Richard Biener <[email protected]>
Date:   Mon Sep 8 12:40:30 2025 +0200

    tree-optimization/121829 - bogus CFG with asm goto

    When the vectorizer removes a forwarder created earlier by split_edge
    it uses redirect_edge_pred for convenience and efficiency.  That breaks
    down when the edge split is originating from an asm goto as that is
    a jump that needs adjustments from redirect_edge_and_branch.  The
    following factores a simple vect_remove_forwarder handling this
    situation appropriately.

            PR tree-optimization/121829
            * cfgloopmanip.cc (create_preheader): Ensure we can insert
            at the end of a preheader.

            * gcc.dg/torture/pr121829.c: New testcase.

Reply via email to