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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:89c443a7e9a0780a52a698fb02d4f5173e025918

commit r14-9335-g89c443a7e9a0780a52a698fb02d4f5173e025918
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Mar 6 10:31:02 2024 +0100

    tree-optimization/114239 - rework reduction epilogue driving

    The following reworks vectorizable_live_operation to pass the
    live stmt to vect_create_epilog_for_reduction also for early breaks
    and a peeled main exit.  This is to be able to figure the scalar
    definition to replace.  This reverts the PR114192 fix as it is
    subsumed by this cleanup.

            PR tree-optimization/114239
            * tree-vect-loop.cc (vect_get_vect_def): Remove.
            (vect_create_epilog_for_reduction): The passed in stmt_info
            should now be the live stmt that produces the scalar reduction
            result.  Revert PR114192 fix.  Base reduction info off
            info_for_reduction.  Remove special handling of
            early-break/peeled, restore original vector def gathering.
            Make sure to pick the correct exit PHIs.
            (vectorizable_live_operation): Pass in the proper stmt_info
            for early break exits.

            * gcc.dg/vect/vect-early-break_122-pr114239.c: New testcase.

Reply via email to