https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68030
--- Comment #3 from rguenther at suse dot de <rguenther at suse dot de> --- On Thu, 28 Jan 2016, ienkovich at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68030 > > Ilya Enkovich <ienkovich at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |ienkovich at gcc dot gnu.org > > --- Comment #2 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- > (In reply to Richard Biener from comment #1) > > Induction variable optimization is responsible here but it needs some help > > from a CSE. I proposed adding a late FRE for that some time ago. The issue > > is that > > the vectorizer creates some redundancies when creating address IVs for the > > vectorized accesses. > > Would it be reasonable to cache in some way results of > vect_create_data_ref_ptr > and don't create a new pointer each time it is called with the same set of > arguments (except STMT one)? This should help to make vector code to use IVs > set similar to what scalar code uses. Yes, I had a prototype patch doing this at some point but we really need better infrastructure here, not trying to work around it after the fact.