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.

Reply via email to