https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111873

--- Comment #21 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Martin Jambor
<jamb...@gcc.gnu.org>:

https://gcc.gnu.org/g:a067a18d42e338aea990347bb4d16d6a852c4480

commit r13-9724-ga067a18d42e338aea990347bb4d16d6a852c4480
Author: Martin Jambor <mjam...@suse.cz>
Date:   Wed May 14 12:08:24 2025 +0200

    tree-sra: Do not create stores into const aggregates (PR111873)

    This patch fixes (hopefully the) one remaining place where gimple SRA
    was still creating a load into const aggregates.  It occurs when there
    is a replacement for a load but that replacement is not type
    compatible - typically because it is a single field structure.

    I have used testcases from duplicates because the original test-case
    no longer reproduces for me.

    gcc/ChangeLog:

    2025-05-13  Martin Jambor  <mjam...@suse.cz>

            PR tree-optimization/111873
            * tree-sra.cc (sra_modify_expr): When processing a load which has
            a type-incompatible replacement, do not store the contents of the
            replacement into the original aggregate when that aggregate is
            const.

    gcc/testsuite/ChangeLog:

    2025-05-13  Martin Jambor  <mjam...@suse.cz>

            * gcc.dg/ipa/pr120044-1.c: New test.
            * gcc.dg/ipa/pr120044-2.c: Likewise.
            * gcc.dg/tree-ssa/pr114864.c: Likewise.

    (cherry picked from commit 9d039eff453f777c58642ff16178c1ce2a4be6ab)

Reply via email to