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

--- Comment #30 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 9 Feb 2015, belagod at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
> 
> --- Comment #29 from Tejas Belagod <belagod at gcc dot gnu.org> ---
> (In reply to rguent...@suse.de from comment #28)
> > On Mon, 9 Feb 2015, belagod at gcc dot gnu.org wrote:
> > 
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
> > > 
> > > --- Comment #27 from Tejas Belagod <belagod at gcc dot gnu.org> ---
> > > We'd want to scalarize this early preferably in SRA as it gives a chance 
> > > to
> > > passes like vectorization to vectorize more loops. I checked that
> > > sra-max-scalarization-Osize{-Ospeed} had no effect on scalarizing 'a = 
> > > *.LC0'
> > 
> > because SRA can't scalarize 'a = *.LC0'.  But yes, ideally we'd change
> > gimplification to never decompose initializers but have SRA do it.
> > But that's of course not a GCC 5 thing.
> > 
> > It has the advantage of splitting the initialization only when it is
> > (likely) profitable and otherwise leave it to the target to decide
> > how to expand the initialization (and it opens up the possibility
> > to directly use a constant-pool entry if the data is readonly).
> 
> Which cost function(s) control this profitability of early splitting?

See gimplify_init_constructor and callees.

Reply via email to