From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30760 invoked by alias); 15 Oct 2004 19:22:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 30720 invoked from network); 15 Oct 2004 19:22:20 -0000 Received: from unknown (HELO dberlin.org) (68.164.203.246) by sourceware.org with SMTP; 15 Oct 2004 19:22:20 -0000 Received: from [127.0.0.1] (HELO dberlin.org) by dberlin.org (CommuniGate Pro SMTP 4.2.1) with ESMTP-TLS id 7395956; Fri, 15 Oct 2004 15:22:20 -0400 Date: Fri, 15 Oct 2004 19:22:00 -0000 From: Daniel Berlin To: Diego Novillo cc: "gcc-patches@gcc.gnu.org" Subject: Re: [tcb] Improve SSA-CCP to work with aliased stores, structures and arrays In-Reply-To: <1097815926.22575.93.camel@localhost.localdomain> Message-ID: References: <1097815926.22575.93.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: MULTIPART/Mixed; boundary="=-VK8Wlj8r3LpRowZSdUVx" Content-ID: X-SW-Source: 2004-10/txt/msg01296.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --=-VK8Wlj8r3LpRowZSdUVx Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Content-ID: Content-length: 2100 On Fri, 15 Oct 2004, Diego Novillo wrote: > > Given > > ---------------------------------------------------------------------- > struct A a; > const int B = 42; > > void foo (int i) > { > if (i > 10) > a.a = 42; > else > { > a.b = 21; > a.a = a.b + 21; > } > > if (a.a != B) > link_error (); > } > ---------------------------------------------------------------------- > > GCC will not fold 'a.a != B' into '0'. > > While CCP has all the logic to propagate the constants in this case, it > is missing the ability to associate constants with stores and loads > (i.e., pointer dereferences, structures and global/aliased variables). > We don't keep loads and stores in SSA, but we do build a factored > use-def web for them (in the virtual operands). > > Essentially, the patch extends Brian Booth's work to propagate constants > in global variables. It associates constant values with the SSA names > in the V_MAY_DEF/V_MUST_DEF operands. However, this is not enough, > because we glob partial loads/stores with the base symbol: > > # a_5 = V_MAY_DEF > a.a = 2; > > # VUSE > x_3 = a.b; > > In the example above, CCP will associate value '2' with 'a_5', but it > would be wrong to replace the load from 'a.b' with '2', because '2' had > been stored into a.a. So, we also keep track of the memory reference > expression where the store was done. This may not be necessary when we > start representing partial loads and stores (Dan?). It won't be necessary. Where we don't know, you'll see VUSE (IE it's somewhere int he object) and where we do know, you'll see VUSE or whatever. Also, the immediate uses of will be linked up with the right uses, and vice versa. The only thing you'll have to watch out for is the "don't know" definitions of variables, which you can't propagate from (since we don't know if it really wrote that part), and don't know uses of variablse, which you can't propagate to. You can think of V_MAY_DEF as V_MUST_DEF . We *know* it defined bytes 2-6 of a_5. --Dan --=-VK8Wlj8r3LpRowZSdUVx Content-Type: APPLICATION/X-GZIP; name="20041014-store-ccp.diff.gz"; name="20041014-store-ccp.diff.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="20041014-store-ccp.diff.gz" Content-length: 32940 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 9m2pSw+SJjE9o+eG8ZiWGwZ2JkNrpo2OrhPkmB3CS3P0xjupeDaX6OgXpjrd cyV3qjPFmDTCI79rbSk+b/gd2k7N5F4dvNkPngk8X8srtXuDPxlQ3iX+ZW6q zJvnIBKr4VKIxHxk6tVKWK826cik32PhieJLbm6G9XLVrS/ggyt2D9h2sFp0 9310JuXUnBfjHjYBzf/IVabbzxdwAVyT9JWlcx6z+JtU7ZRyuGAvQTXZoBLv 9Eo/mgkGziqk2Z4edkd4ypdbntlLJAQ+EcdWKHxtN9pSXSp6se3EZJo73EoI 6VtuG7EHbKGnHs9i28fA/Mw3cp6wkULUXGZdFt7DW51n8OXXa3WvkmawgXSW 4uhMp+0eQKKujIiCcHMl5yjxjMWbKXM5VNvYmZjUXgbWhwwBxYahxBrEpVwj rqvJ59VB2+BmoYGeHe0f//JmGbQGYwZpLxCzTL1kkC6h+V4khspNm9umx64E 36nrvsak2X8H5QKU5r+/9w9d3zBlgLOzc2EDiLA6pyPASEDq/C4aqsXEL3wD zc/CVR2CNbjamQAKvtuZOVD6IEPWaQiwVwf/gtyPZHSZTtxVt9ZOfxA8zY75 lPhPQwmnll+fW4YENRrw+NrmTSgKkinkfvJyKEtnueiLbaKoM5akDBZ7dEuv 9TeijdDJiSGjGT2iGKazXWkQ+/wZSR0BxA1nJ4eGchqmMxiQgQv6J2a6PWMo B/ucSX9w01OTez1B1uDMJHkH+eUrKXiQWRRuNMKFk57WZX5L3OmfX0yIpnWp b7Ut2v6XuIVYJYsYkJH9YU5WJrBtwZ0kqVCvKpVABKPUNxtho1xzgAsXyCsU SVJOed15SVG+WrlDcKl31W7DnQqyGzhIsk9eE0Xx45F6J7iLqe0xy4EmZrbv 4nmibCcN6aTOp1lO8qrhTNRyQ/IaRNGvc/43ds7NvEquL09Hg0RnlyvWkk8X nuwhNl/LBKLU/S5DI+tzskHXZeqop3Fmu9bNTt0scjJFYHkJKERgrVpY3/SA cfOqW9xI7cZxbV5oPHgefLlUbHDUhYT3f0f6FlwMnqE/gdwUCOEiVapUebBU S64NthIU5uJy2klH2npPSCASEnAcRz3w80N9PYnIaBI8ZqGSlm5YB8yyD68C eULhyi58YTydXNj80VVOh2qou0Gj7oHufTz7xFl0s7YLGxzvn7RTX4UeK0K6 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 4GcNZs51FxxI3Y1lTuzz4Oed1aCcvZTQZHyayP1MZqmLR71SLn8LW+CCD6Xz /27R5rDXP/Siqx+G08GgUAn+S61YZatVhrOJ/89nc/4J10Mue8IFgEUlrHFM +Lo8PfF0iMsfiI/l0eFDwkWP0Tm5a4CFQOB+2RF/XGP+ACcznHb+DWkP3OdZ x2Z/dEo/fgmeB7Ud/de1+qsqUm3Q7IbXf9vJjNSRpWbfQiHHBJJjCAf86YQj FSBe7GnnqYWUw+l833ExlPrBj0HFJHN0NmBa/UzGm/hcPzdTVJ6PivroihN9 MbnXAJFjvs/gc+c6oWSRVK1j9YSV5/S6BHc6/NSO4hhQeTLJIaqxWCvNWfQ6 4drVTI1n6lKmDnPPGGQsqEP5sCJZTOLGV3v5IrMFsmh5Bxd7Odqdi+Ng6Yu9 VY4xD0SSlYGKW1C2Bktf8Rd6eCa/AJrC+lbgh7jAmG75/0P/YbNfqxK26rPN fqDiiqeiqzVkfPGYTuTwGiuMUKUEARCFEONQ2iXqLSPZ7NO8wpbmPNMC+Bjm vLhMNuRevUeZ7Dx0vkx2mt+NTJZD3k4mV+9IJtvMdDCQ75hfT6VEdkUoXZGh 0Qsl3epVboQH0CeAffKyY3o6AtMiD3Y2IDunWtkRn0An+HxdfP5VyFYMxLMn AlAACfHxKUyhXHwKWNMwDAQBviCNHAIV69W0UO2AUH2RK1RnStDbCdDqYxCg 1TsQoNWFBWj1TgVo9f8E6M0EKJxaWN4t+JE5epXmZlhpVf5iIlPP+j9QaNYe A4+o3QGPqC3MI2p3yiNqj8J5docs4t44BO1Vs9kkKf8saENuuaKB7qTdDuJx BVRt9q4DBmpdxBbPOD34Yj/99FPwT8R4/QxQmD0oU9Ebwc38QglswOtEHEI8 nAkiXHRH0/FAf/SEcRVoNkQFKOMBSTuOo+6Svi4ff1GNv2Ddxmcl9X8YDym8 9PTCNuLzL//C1dwXXphXtR4Dr2rdAa9qLcyrWnfKq1r/x6tuo820iFF12IJe Exb0v4Aio/12NWFr/wtoMot48TR9bz0GBrF1Bwxia2EGsXWnDGLrsTAIsG6j Dwyt2AgaGnwexZ8SRIGS4ayAOAWJfOrqT7ijXN0brAy2wPW3Yyd3PdMMCI+9 RqGW1IFCDPDb74x6ol5rrgly/nEO7/M+RXOew4Mefs6GB/1/u3PV3Am9AQA= --=-VK8Wlj8r3LpRowZSdUVx--