https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125597

--- Comment #9 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:7c1666c8c462cb1bbc6c0b2f6bc02ad968d769ad

commit r17-1510-g7c1666c8c462cb1bbc6c0b2f6bc02ad968d769ad
Author: Tamar Christina <[email protected]>
Date:   Fri Jun 12 11:56:33 2026 +0100

    vect: use .VARYING for loop iteraion mask [PR125597]

    This replaces the gimple_build_nop () used for making loop control mask
variable
    with an IFN_VARYING and then actually adding the statement to the IL.

    The bug happens because the mask def statement itself is not in the IL but
    computations that use it are.  As such dataflow analysis fails as it tries
to
    analyze the use/def chain of these expressions.

    When the value if known we replace the IFN_VARYING with the final
statement.

    gcc/ChangeLog:

            PR tree-optimization/125597
            (vect_do_peeling): Create IFN_VARYING for masks.
            * tree-vect-loop-manip.cc (vect_set_loop_condition): Replace the
            IFN_VARYING.

    gcc/testsuite/ChangeLog:

            PR tree-optimization/125597
            * gcc.target/aarch64/pr125597.c: New test.

Reply via email to