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.
