[Bug tree-optimization/87859] [8/9 Regression] store-merging miscompilation of mesa
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 5 10:28:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87859
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Nov 5 10:28:19 2018
New Revision: 265794
URL: https://gcc.gnu.org/viewcvs?rev=265794&root=gcc&view=rev
Log:
PR tree-optimization/87859
* gimple-ssa-store-merging.c (struct merged_store_group): Add
only_constants and first_nonmergeable_order members.
(merged_store_group::merged_store_group): Initialize them.
(merged_store_group::do_merge): Clear only_constants member if
adding something other than INTEGER_CST store.
(imm_store_chain_info::coalesce_immediate_stores): Don't merge
stores with order >= first_nonmergeable_order. Use
merged_store->only_constants instead of always recomputing it.
Set merged_store->first_nonmergeable_order if we've skipped any
stores. Attempt to merge overlapping INTEGER_CST stores that
we would otherwise skip.
* gcc.dg/store_merging_24.c: New test.
* gcc.dg/store_merging_25.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/store_merging_24.c
trunk/gcc/testsuite/gcc.dg/store_merging_25.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimple-ssa-store-merging.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list