https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126997
--- Comment #3 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:66ed104db50c639c79e7ba2826ccd6df41cb37c1 commit r17-3584-g66ed104db50c639c79e7ba2826ccd6df41cb37c1 Author: Richard Biener <[email protected]> Date: Mon Aug 24 11:24:57 2026 +0200 tree-optimization/126997 - hoist invariants after unswitching The following makes sure to hoist loop invariants after unswitching a loop. Invariant stmts in a loop can make vectorization less effective and now confuse it. While if-conversion moves invariants already, when there's nothing to if-convert this isn't done. This follows what loop interchange and unroll-and-jam already do. PR tree-optimization/126997 * tree-ssa-loop-unswitch.cc (tree_ssa_unswitch_loops): Perform invariant motion when we unswitched a loop. * gcc.dg/torture/pr126997.c: New testcase.
