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

--- Comment #3 from Jan Hubicka <hubicka at ucw dot cz> ---
This is patch I am testing.  It turns out that vectorizer does update of
alignment twice and both are wrong in aliases in different ways.

In increase_alignment it decides to bump up alignment of alias target that is
unsafe because target may be interposable while alias is not.  Bumping up
DECL_ALIGN will make us to produce invalid aligned accesses to the interposable
references.

In vectorizer itself it updates only DECL_ALIGN of alias and ignore the fact
that target definition needs to be aligned.

This patch moves the heavy lifting into symbol table and adds extra abstraction
around alignments.

Honza

Reply via email to