From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32413 invoked by alias); 10 Jun 2011 18:40:06 -0000 Received: (qmail 32402 invoked by uid 22791); 10 Jun 2011 18:40:05 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 10 Jun 2011 18:39:51 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p5AIdgU4008972 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 10 Jun 2011 14:39:43 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p5AIdgsT032060; Fri, 10 Jun 2011 14:39:42 -0400 Received: from [10.3.113.98] (ovpn-113-98.phx2.redhat.com [10.3.113.98]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p5AIdelU022205; Fri, 10 Jun 2011 14:39:41 -0400 Message-ID: <4DF264EC.7090305@redhat.com> Date: Fri, 10 Jun 2011 18:43:00 -0000 From: Jeff Law User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc15 Lightning/1.0b3pre Thunderbird/3.1.10 MIME-Version: 1.0 To: Tom de Vries CC: Richard Guenther , Steven Bosscher , gcc-patches@gcc.gnu.org Subject: Re: [PATCH, PR43864] Gimple level duplicate block cleanup. References: <4DEF4408.4040001@codesourcery.com> In-Reply-To: <4DEF4408.4040001@codesourcery.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 X-SW-Source: 2011-06/txt/msg00877.txt.bz2 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/08/11 03:42, Tom de Vries wrote: > Hi Richard, > > I have a patch for PR43864. The patch adds a gimple level duplicate block > cleanup. The patch has been bootstrapped and reg-tested on x86_64, and > reg-tested on ARM. The size impact on ARM for spec2000 is shown in the following > table (%, lower is better). > > none pic > thumb1 thumb2 thumb1 thumb2 > spec2000 99.9 99.9 99.8 99.8 > > PR43864 is currently marked as a duplicate of PR20070, but I'm not sure that the > optimizations proposed in PR20070 would fix this PR. > > The problem in this PR is that when compiling with -O2, the example below should > only have one call to free. The original problem is formulated in terms of -Os, > but currently we generate one call to free with -Os, although still not the > smallest code possible. I'll show here the -O2 case, since that's similar to the > original PR. [ ... ] FWIW, I've seen at least one paper which claims that extending value numbering redundancy elimination to handle blocks is effective at eliminating duplicates. Redundancy elimination for blocks turns into CFG manipulations. We want to do this early in the pipeline so that register numbering doesn't get in the way. I'm going to let you and Richi iterate, but wanted to chime in with my general support for detecting and eliminating blocks early in the pipeline (gimple). jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJN8mTsAAoJEBRtltQi2kC7UxMIAKqEprg9LUJS4QnUeXRKDx7h +tMBS1hPEZcmfxV9jo95oXb+1yiCIrI2CUou9PDO8E4i/Dv3x6kCF5vyfLBGx0ZI dS80HjTdvr2vUzxFQnChESvDYepyg2JE6pnlnOe4cwnuyFHWhPQG7L3e3lDaZkTa 224afwDNNUMmCGDE4emUpgV/evQ4dpiiY/dqAU1fu6ev8wQxfDpyGeZOTD+qC1XM DfpZumzHJpJfo2w/LMbSiBNci0HYxENjUheNixzHDLMSUO8AdStje6NBIJ96I3s7 p94WuwuP08B1wU5J0F4B1TiyAJxDOBbtApRwhpAOs9NImEDydmOXDLjIaPivXBY= =2J0r -----END PGP SIGNATURE-----