[Bug target/63679] [5 / 6 Regression][AArch64] Failure to constant fold.
ramana at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 12 16:53:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ramana at gcc dot gnu.org
Target Milestone|5.0 |6.0
Summary|[5 Regression][AArch64] |[5 / 6 Regression][AArch64]
|Failure to constant fold. |Failure to constant fold.
--- Comment #31 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #30)
> 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 rguenther@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.
Given all the comments above this sounds like a 6.0 fix - I'm just making this
a 6.0 target - we can always change it back if someone can fix it in time for 5
Ramana
More information about the Gcc-bugs
mailing list