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

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <[email protected]>:

https://gcc.gnu.org/g:4fbe8f4438980082de9e01b6dcd339ea1d8e5d9f

commit r16-6229-g4fbe8f4438980082de9e01b6dcd339ea1d8e5d9f
Author: H.J. Lu <[email protected]>
Date:   Wed Dec 17 12:18:15 2025 +0800

    cse: Check volatile memory in cselib_redundant_set_p

    For h8300-elf, gcc.dg/pr114768.c fails when compiled with -O2 -msx since
    cselib_redundant_set_p returns true when called with

    (gdb) call debug (set)
    (set (mem:HI (reg/f:SI 0 r0 [orig:21 p ] [21]) [1 *p_3(D)+0 S2 A16])
        (mem/v:HI (reg/f:SI 0 r0 [orig:21 p ] [21]) [1 MEM[(volatile int
*)p_3(D)]+0 S2 A16]))
    (gdb)

    from reload_cse_regs.  Update cselib_redundant_set_p to return false for
    volatile memory source or destination.

    gcc/

            PR target/122343
            * cselib.cc (cselib_redundant_set_p): Return false for volatile
            memory source or destination.

    gcc/testsuite/

            PR target/122343
            * gcc.dg/pr122343-1.c: New test.

    Signed-off-by: H.J. Lu <[email protected]>

Reply via email to