https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125597
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tamar Christina <[email protected]>: https://gcc.gnu.org/g:ad36cd942cd9c16df93ada46af38e72cf4e15981 commit r17-1509-gad36cd942cd9c16df93ada46af38e72cf4e15981 Author: Tamar Christina <[email protected]> Date: Fri Jun 12 11:55:46 2026 +0100 middle-end: introduce IFN_VARYING for temporary statements [PR125597] This defines a new IFN "VARYING" to indicate that the operation has no current defining statement and so things like range analysis should just not report anything yet. In the vectorizer we can create new SSA variables that are only defined after vectorization is finishing. For instance the actual control statement for masked loops. However intermediate values need to be able to perform build expressions using this SSA name but since GCC 16 ranger now tries to analyze these and we ICE. This replaces the uses of gimple_nop in the definition with a value with a more defined semantics. gcc/ChangeLog: PR tree-optimization/125597 * internal-fn.def (VARYING): New. * doc/ifn.texi: Document it. * internal-fn.cc (expand_VARYING): New. * internal-fn.h (expand_VARYING): New. * tree-cfg.cc (verify_gimple_call): Check for leaked IFN_VARYING.
