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?

Reply via email to