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

--- Comment #15 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Vladimir Makarov
<vmaka...@gcc.gnu.org>:

https://gcc.gnu.org/g:41bea618a77dca8c1c13a3d7b883976a25d83373

commit r11-9202-g41bea618a77dca8c1c13a3d7b883976a25d83373
Author: Vladimir N. Makarov <vmaka...@redhat.com>
Date:   Tue Oct 26 14:03:42 2021 -0400

    [PR102842] Consider all outputs in generation of matching reloads

    Without considering all output insn operands (not only processed
    before), in rare cases LRA can use the same hard register for
    different outputs of the insn on different assignment subpasses.  The
    patch fixes the problem.

    gcc/ChangeLog:

            PR rtl-optimization/102842
            * lra-constraints.c (match_reload): Ignore out in checking values
            of outs.
            (curr_insn_transform): Collect outputs before doing reloads of
operands.

    gcc/testsuite/ChangeLog:

            PR rtl-optimization/102842
            * g++.target/arm/pr102842.C: New test.

Reply via email to