* gimple-ssa-store-merging.c (struct merged_store_group): Move up
commitf9ceb30223aaebae54f94dc80ab77c91aefd5440
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2018 22:12:51 +0000 (4 22:12 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2018 22:12:51 +0000 (4 22:12 +0000)
tree65cd8834a5ebf2e1e26081175b3fc1a4b46b0b3d
parente181a75216051387ec069ea7f395a0e92825f39a
* gimple-ssa-store-merging.c (struct merged_store_group): Move up
bit_insertion field and declare can_be_merged_into method.
(merged_store_group::can_be_merged_into): New method.
(imm_store_chain_info::coalesce_immediate): Call it to decide whether
consecutive non-overlapping stores can be merged.  Turn MEM_REF stores
into BIT_INSERT_EXPR stores if the group contains a non-MEM_REF store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261173 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-ssa-store-merging.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/store_merging_21.c [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt71a.adb [copied from gcc/testsuite/gnat.dg/opt71.adb with 81% similarity]
gcc/testsuite/gnat.dg/opt71b.adb [moved from gcc/testsuite/gnat.dg/opt71.adb with 67% similarity]