tree-optimization/102949 - fix base object alignment

This fixes fallout of g:4703182a06b831a9 where we now silently fail
to force alignment of a base object.  The fix is to look at the
dr_info of the group leader to be consistent with alignment analysis.

2021-10-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/102949
	* tree-vect-stmts.c (ensure_base_align): Look at the
	dr_info of a group leader and assert we are looking at
	one with analyzed alignment.
This commit is contained in:
Richard Biener 2021-10-28 10:07:40 +02:00
parent b343a29dbc
commit eed248bb8c

View file

@ -6338,8 +6338,12 @@ vectorizable_operation (vec_info *vinfo,
static void
ensure_base_align (dr_vec_info *dr_info)
{
if (dr_info->misalignment == DR_MISALIGNMENT_UNINITIALIZED)
return;
/* Alignment is only analyzed for the first element of a DR group,
use that to look at base alignment we need to enforce. */
if (STMT_VINFO_GROUPED_ACCESS (dr_info->stmt))
dr_info = STMT_VINFO_DR_INFO (DR_GROUP_FIRST_ELEMENT (dr_info->stmt));
gcc_assert (dr_info->misalignment != DR_MISALIGNMENT_UNINITIALIZED);
if (dr_info->base_misaligned)
{