[Bug tree-optimization/91790] ICE: verify_ssa failed (error: definition in block 2 follows the use)

linkw at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 27 09:08:00 GMT 2019


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

--- Comment #12 from Kewen Lin <linkw at gcc dot gnu.org> ---
Author: linkw
Date: Wed Nov 27 09:08:20 2019
New Revision: 278760

URL: https://gcc.gnu.org/viewcvs?rev=278760&root=gcc&view=rev
Log:
[PATCH] Fix PR91790 by considering different first_stmt_info for realign

As PR91790 exposed, when we have one slp node whose first_stmt_info_for_drptr
is different from first_stmt_info, it's possible that the first_stmt DR isn't
initialized yet before stmt SLP_TREE_SCALAR_STMTS[0] of slp node. So we
shouldn't use first_stmt_info for vect_setup_realignment, instead we can use
the one based on first_stmt_info_for_drptr DR with additional adjustment by
bumping the distance from first_stmt DR.

gcc/ChangeLog

2019-11-27  Kewen Lin  <linkw@gcc.gnu.org>

    PR tree-optimization/91790
    * gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for
    vect_setup_realignment when first_stmt_info is different from
    first_stmt_info_for_drptr.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-vect-stmts.c


More information about the Gcc-bugs mailing list