From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21157 invoked by alias); 26 Aug 2015 16:09:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 21144 invoked by uid 89); 26 Aug 2015 16:09:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (146.101.78.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Aug 2015 16:09:00 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-3-oXV1qoV7QIKg5ow8DGAucg-1; Wed, 26 Aug 2015 17:08:55 +0100 Received: from [10.2.207.65] ([10.1.2.79]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 26 Aug 2015 17:08:55 +0100 Message-ID: <55DDE497.6030103@arm.com> Date: Wed, 26 Aug 2015 16:30:00 -0000 From: Alan Lawrence User-Agent: Thunderbird 2.0.0.24 (X11/20101213) MIME-Version: 1.0 To: Richard Biener CC: Martin Jambor , Jeff Law , GCC Patches , Richard Biener Subject: Re: [PATCH 2/5] completely_scalarize arrays as well as records References: <1440500777-25966-1-git-send-email-alan.lawrence@arm.com> <1440500777-25966-3-git-send-email-alan.lawrence@arm.com> <20150825214232.GB12831@virgil.suse.cz> <55DCE1A2.7050501@redhat.com> <20150826093026.GH32341@virgil.suse.cz> <1F5BECB0-7AA1-4770-A367-AE1657873C8D@gmail.com> In-Reply-To: <1F5BECB0-7AA1-4770-A367-AE1657873C8D@gmail.com> X-MC-Unique: oXV1qoV7QIKg5ow8DGAucg-1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2015-08/txt/msg01639.txt.bz2 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. >=20 > OK. IIRC the gimplification code also has the latter and also considers = zeroing the whole aggregate before initializing non-zero fields. IMHO it m= akes 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 th= ere=20 ;). That feels like a separate patch - and belonging to the constant-handli= ng=20 subseries of this series - as gimplify_init_constructor already deals with = both=20 record and array types, and I don't see anything there that's specifically = good=20 for total-scalarization of arrays....? IOW, do you mean that to block this patch, or can it be separate (I can add= ress=20 Martin + Jeff's comments fairly quickly and independently) ? Cheers, Alan