From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 60633 invoked by alias); 28 Sep 2016 16:05:10 -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 60619 invoked by uid 89); 28 Sep 2016 16:05:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=UD:store-merging.patch, heads-up!, headsup, his X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Sep 2016 16:04:59 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CA00622E; Wed, 28 Sep 2016 09:04:57 -0700 (PDT) Received: from [10.2.207.77] (e100706-lin.cambridge.arm.com [10.2.207.77]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DDAE43F3D6; Wed, 28 Sep 2016 09:04:56 -0700 (PDT) Message-ID: <57EBEA27.3000803@foss.arm.com> Date: Wed, 28 Sep 2016 16:09:00 -0000 From: Kyrill Tkachov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Bill Schmidt CC: GCC Patches , Richard Biener Subject: Re: [PATCH][v4] GIMPLE store merging pass References: <57EBE7A6.3040103@foss.arm.com> <0BED6BB0-4196-4086-919E-EEDDA5923FFF@linux.vnet.ibm.com> In-Reply-To: <0BED6BB0-4196-4086-919E-EEDDA5923FFF@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-09/txt/msg02154.txt.bz2 On 28/09/16 16:59, Bill Schmidt wrote: > On Sep 28, 2016, at 10:54 AM, Kyrill Tkachov wrote: >> Hi all, >> >> This is v4 of the pass. It addresses feedback by Bernhard, including typo fixes and >> skipping of debug statements. >> Also, I've extended it to handle the case from PR 23684 and included that testcase >> in the patch. Merging now triggers more often. >> I've also added purging of dead EH edges that was missing from the previous versions. >> >> Bootstrapped and tested on aarch64-none-linux-gnu, x86_64-unknown-linux-gnu, arm-none-linux-gnueabihf. >> Also tested on aarch64 big-endian. >> >> I saw no regressions on my x86_64 machine on SPEC2006. I think the changes in individual benchmarks were >> in the noise though I think the x86_64 expanders could be improved to split expensive movabsq instructions >> into two movl ones (I think). >> >> Bill, could you or someone else with access to Power benchmarking try this patch out on some benchmarks >> that you usually use? The new pass in this patch is on by default and can be turned off by -fno-store-merging >> if needed. Jakub indicated that his last attempt at this work caused regressions on powerpc so I'd like to >> see if this patch is okay in that regard. > Hi Kyrill, > > Thanks for the heads-up! I will have someone on my team look at this as soon as possible. Thanks! Kyrill > Much obliged, > > Bill > >> Thanks, >> Kyrill >> >> 2016-09-28 Kyrylo Tkachov >> >> PR middle-end/22141 >> * Makefile.in (OBJS): Add gimple-ssa-store-merging.o. >> * common.opt (fstore-merging): New Optimization option. >> * opts.c (default_options_table): Add entry for >> OPT_ftree_store_merging. >> * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define. >> * passes.def: Insert pass_tree_store_merging. >> * tree-pass.h (make_pass_store_merging): Declare extern >> prototype. >> * gimple-ssa-store-merging.c: New file. >> * doc/invoke.texi (Optimization Options): Document >> -fstore-merging. >> >> 2016-09-28 Kyrylo Tkachov >> Jakub Jelinek >> Andrew Pinski >> >> PR middle-end/22141 >> PR rtl-optimization/23684 >> * gcc.c-torture/execute/pr22141-1.c: New test. >> * gcc.c-torture/execute/pr22141-2.c: Likewise. >> * gcc.target/aarch64/ldp_stp_1.c: Adjust for -fstore-merging. >> * gcc.target/aarch64/ldp_stp_4.c: Likewise. >> * gcc.dg/store_merging_1.c: New test. >> * gcc.dg/store_merging_2.c: Likewise. >> * gcc.dg/store_merging_3.c: Likewise. >> * gcc.dg/store_merging_4.c: Likewise. >> * gcc.dg/store_merging_5.c: Likewise. >> * gcc.dg/store_merging_6.c: Likewise. >> * gcc.dg/store_merging_7.c: Likewise. >> * gcc.target/i386/pr22141.c: Likewise. >> * gcc.target/i386/pr34012.c: Add -fno-store-merging to dg-options. >>