https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Kewen Lin from comment #10)
> But it still keeps the .LEN_STORE there:
>
> int foo ()
> {
> int a[10];
>
> <bb 2> [local count: 97603129]:
> .LEN_STORE (&MEM <int[10]> [(void *)&a + 32B], 128B, 8, { 64, 0, 0, 0, 81,
> 0, 0, 0, 100, 0, 0, 0, 121, 0, 0, 0 }, 0);
> a ={v} {CLOBBER(eol)};
> return 285;
>
> }
>
> btw, the latest commit "Add alias disambiguation for vectorizer load/store
> IFNs" has been applied.
I think that DSE doesn't handle the store IFNs yet - maybe adding handling
to initialize_ao_ref_for_dse would be enough - but I think it cannot yet
handle a "conservative" start (for .MASK_STORES), but .LEN_STORE should
be possible to describe exact by giving an exact trimmed size to ao_ref
(the alias disambiguation changes could be also made more precise there).
Can you open a separate bugreport for the DSE issue?