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

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

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

commit r14-6784-gaca1f9d7cab3dc1a374a7dc0ec6f7a8d02d2869a
Author: Alex Coplan <alex.cop...@arm.com>
Date:   Thu Dec 21 10:52:44 2023 +0000

    aarch64: Prevent moving throwing accesses in ldp/stp pass [PR113093]

    As the PR shows, there was nothing to prevent the ldp/stp pass from
    trying to move throwing insns, which lead to an RTL verification
    failure.

    This patch fixes that.

    gcc/ChangeLog:

            PR target/113093
            * config/aarch64/aarch64-ldp-fusion.cc (latest_hazard_before):
            If the insn is throwing, record the previous insn as a hazard to
            prevent moving it from the end of the BB.

    gcc/testsuite/ChangeLog:

            PR target/113093
            * gcc.dg/pr113093.c: New test.

Reply via email to