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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Philipp Tomsich <ptoms...@gcc.gnu.org>:

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

commit r15-5983-gb317dca04e3ffb31144f79cb804ff6835c2a9af8
Author: kelefth <konstantinos.elefther...@vrull.eu>
Date:   Thu Dec 5 11:11:27 2024 +0100

    avoid-store-forwarding: bail when an instruction may throw [PR117816]

    Avoid-store-forwarding doesn't handle the case where an instruction in
    the store-load sequence contains a REG_EH_REGION note, leading to the
    insertion of instructions after it, while it should be the last
    instruction in the basic block. This causes an ICE when compiling
    using `-O -fnon-call-exceptions -favoid-store-forwarding
    -fno-forward-propagate -finstrument-functions`.

    This patch rejects the transformation when there are instructions in
    the sequence that may throw an exeption.

            PR rtl-optimization/117816

    gcc/ChangeLog:

            * avoid-store-forwarding.cc
(store_forwarding_analyzer::avoid_store_forwarding):
            Reject the transformation when having instructions that may
            throw exceptions in the sequence.

    gcc/testsuite/ChangeLog:

            * gcc.dg/pr117816.c: New test.

Reply via email to