[Bug tree-optimization/101120] vn_reference_maybe_forwprop_address can take much compile-time

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jun 21 13:02:06 GMT 2021


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

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

https://gcc.gnu.org/g:0ad9c7087ef3904da89f2db6007b6d28b116087f

commit r12-1699-g0ad9c7087ef3904da89f2db6007b6d28b116087f
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Jun 18 14:07:00 2021 +0200

    tree-optimization/101120 - fix compile-time issue with SLP groups

    This places two hacks to avoid an old compile-time issue when
    vectorizing large permuted SLP groups with gaps where we end up
    emitting loads and IV adjustments for the gap as well and those
    have quite a high cost until they are eventually cleaned up.

    The first hack is to fold the auto-inc style IV updates early
    in the vectorizer rather than in the next forwprop pass which
    shortens the SSA use-def chains of the used IV.

    The second hack is to remove the unused loads after we've picked
    all that we possibly use.

    2021-06-18  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/101120
            * tree-vect-data-refs.c (bump_vector_ptr): Fold the
            built increment.
            * tree-vect-slp.c (vect_transform_slp_perm_load): Add
            DR chain DCE capability.
            * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust.
            * tree-vect-stmts.c (vectorizable_load): Remove unused
            loads in the DR chain for SLP.


More information about the Gcc-bugs mailing list