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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:f758d447d7f4699253c9f8ee345ba9b8357cdb22

commit r13-2925-gf758d447d7f4699253c9f8ee345ba9b8357cdb22
Author: liuhongt <hongtao....@intel.com>
Date:   Wed Sep 28 17:00:48 2022 +0800

    Check nonlinear iv in vect_can_advance_ivs_p.

    vectorizable_nonlinear_induction doesn't always guard
    vect_peel_nonlinear_iv_init when it's called by
    vect_update_ivs_after_vectorizer.
    It's supposed to be guarded by vect_can_advance_ivs_p.

    gcc/ChangeLog:

            PR tree-optimization/107055
            * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
            nonlinear induction variables.
            * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
            functions.
            (vectorizable_nonlinear_induction): Put part codes into
            vect_can_peel_nonlinear_iv_p.
            * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr107055.c: New test.

Reply via email to