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

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

https://gcc.gnu.org/g:9d039eff453f777c58642ff16178c1ce2a4be6ab

commit r16-614-g9d039eff453f777c58642ff16178c1ce2a4be6ab
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.

Reply via email to