https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107690
--- Comment #10 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:e55de74d50d236db0472431fe242f3244e41b884 commit r16-7431-ge55de74d50d236db0472431fe242f3244e41b884 Author: Richard Biener <[email protected]> Date: Tue Feb 10 09:46:08 2026 +0100 tree-optimization/107690 - avoid creating un-analyzable loop exits The following adds a heuristic to ifcombine that avoids turning analyzable loop exits into unanalyzable ones. This allows vectorizing the testcase in the PR again. I've refrained from actually analyzing niters but instead used a cheaper heuristic. I believe we'll only ever attempt to combine two ifs if they are in the same loop and if either both exit the loop or stay within. PR tree-optimization/107690 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Do not merge possibly analyzable exit conditions. * g++.dg/vect/vect-pr107690.cc: New testcase.
