]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH] Fix PR91790 by considering different first_stmt_info for realign
authorKewen Lin <linkw@gcc.gnu.org>
Tue, 10 Dec 2019 12:54:21 +0000 (12:54 +0000)
committerKewen Lin <linkw@gcc.gnu.org>
Tue, 10 Dec 2019 12:54:21 +0000 (12:54 +0000)
commitfdfcc35d8a2d6ba5475d52ba9b50e471572433bc
treebcd62713cb6cdc6b20e749031c79a5e4c1745c96
parent92df45de275093df3490b2fdd3124be614e79d2a
[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.

2019-12-10  Kewen Lin  <linkw@gcc.gnu.org>

  Backport from mainline
  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.

From-SVN: r279166
gcc/ChangeLog
gcc/tree-vect-stmts.c