On August 26, 2015 6:08:55 PM GMT+02:00, Alan Lawrence <alan.lawre...@arm.com> wrote: >Richard Biener wrote: > >>>> One extra question is does the way we limit total scalarization >work >>> well >>>> for arrays? I suppose we have either sth like the maximum size of >an >>>> aggregate we scalarize or the maximum number of component accesses >>>> we create? >>>> >>> Only the former and that would be kept intact. It is in fact >visible >>> in the context of the last hunk of the patch. >> >> OK. IIRC the gimplification code also has the latter and also >considers zeroing the whole aggregate before initializing non-zero >fields. IMHO it makes sense to reuse some of the analysis and >classification routines it has. > >Do you mean gimplify_init_constructor? Yes, there's quite a lot of >logic there >;). That feels like a separate patch - and belonging to the >constant-handling >subseries of this series
Yes. - as gimplify_init_constructor already deals >with both >record and array types, and I don't see anything there that's >specifically good >for total-scalarization of arrays....? > >IOW, do you mean that to block this patch, or can it be separate (I can >address >Martin + Jeff's comments fairly quickly and independently) ? No, but I'd like this being explores with the init sub series. We don't want two places doing total scalarization of initualizers , gimplification and SRA and with different/conflicting heuristics. IMHO the gimplification total scalarization happens too early. Richard. >Cheers, Alan