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 - 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) ?

Cheers, Alan

Reply via email to