[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