On 28/09/16 16:59, Bill Schmidt wrote:
On Sep 28, 2016, at 10:54 AM, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> 
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  <kyrylo.tkac...@arm.com>

    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  <kyrylo.tkac...@arm.com>
            Jakub Jelinek  <ja...@redhat.com>
            Andrew Pinski  <pins...@gmail.com>

    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.
<store-merging.patch>

Reply via email to