tree-optimization/101112 - fix pattern stmt def lookup in SLP reassoc

This fixes the lookup of a pattern stmt def operand.

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

	PR tree-optimization/101112
	* tree-vect-slp.c (vect_slp_linearize_chain): Fix condition
	to lookup a pattern stmt def.
This commit is contained in:
Richard Biener 2021-06-18 12:20:22 +02:00
parent 92edc4a768
commit 17a4bee01c
1 changed files with 3 additions and 7 deletions

View File

@ -1482,13 +1482,9 @@ vect_slp_linearize_chain (vec_info *vinfo,
stmt_vec_info def_stmt_info;
bool res = vect_is_simple_use (op, vinfo, &dt, &def_stmt_info);
gcc_assert (res);
if (dt == vect_internal_def)
{
stmt_vec_info orig_def_stmt_info = def_stmt_info;
def_stmt_info = vect_stmt_to_vectorize (def_stmt_info);
if (def_stmt_info != orig_def_stmt_info)
op = gimple_get_lhs (def_stmt_info->stmt);
}
if (dt == vect_internal_def
&& is_pattern_stmt_p (def_stmt_info))
op = gimple_get_lhs (def_stmt_info->stmt);
gimple *use_stmt;
use_operand_p use_p;
if (dt == vect_internal_def