2016-11-02 Richard Biener <rguenther@suse.de>
commit427223f1f1c6a51637a6b836c89e5da3c96a0760
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 Nov 2016 15:00:48 +0000 (2 15:00 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 2 Nov 2016 15:00:48 +0000 (2 15:00 +0000)
treec0174797d5ae4269718454c3d3228a775255464b
parent2c8c2d4dc4cf381febf68862f069b76d2347c484
2016-11-02  Richard Biener  <rguenther@suse.de>

* gimple-ssa-store-merging.c: Include gimplify-me.h.
(imm_store_chain_info::output_merged_stores): Force base_addr
to be proper GIMPLE for a MEM_REF address.
(pass_store_merging::execute): Restrict negative bitpos
handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
check.  Take into account non-NULL_TREE offset if the base
is already addressable.

* gcc.dg/store_merging_8.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241796 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa-store-merging.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/store_merging_8.c [new file with mode: 0644]