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

--- Comment #6 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:e375d01bcdf0f985f1daac09e9760079d0fb8211

commit r17-1249-ge375d01bcdf0f985f1daac09e9760079d0fb8211
Author: Tamar Christina <[email protected]>
Date:   Wed Jun 3 09:37:32 2026 +0100

    vect: fix prologue peeling dominator updates [PR125509]

    In the change to enable vectorization without needing a scalar epilogue I
    disabled the dominators update for prolog peeling with the assumption that
since
    I don't need to go to rewire the exits when we vectorize the main loop we
don't
    end up with the complicated merge block for which the updates were needed.

    And indeed no test failed.  But it turns out we now get a different form so
the
    updates are still needed.  The merge block is still a mess so determining
    manually who is the new dominator of whom is still quite difficult so I
couldn't
    simplify the updates.

    This re-enabled dominator updates after prolog peeling.

    gcc/ChangeLog:

            PR tree-optimization/125509
            * tree-vect-loop-manip.cc (vect_do_peeling): Re-enable dominators
            update for prolog peeling.

    gcc/testsuite/ChangeLog:

            PR tree-optimization/125509
            * gcc.dg/vect/pr125509.c: New test.

Reply via email to