[Bug target/104637] [9/10/11/12 Regression] ICE: maximum number of LRA assignment passes is achieved (30) with -Og -fno-forward-propagate -mavx since r9-5221-gd8fcab689435a29d

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 28 21:45:48 GMT 2022


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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <vmakarov@gcc.gnu.org>:

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

commit r12-7415-gec1b9ba2d7913fe5e9deacc8e55e7539262f5124
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Mon Feb 28 16:43:50 2022 -0500

    [PR104637] LRA: Split hard regs as many as possible on one subpass

    LRA hard reg split subpass is a small subpass used as the last
    resort for LRA when it can not assign a hard reg to a reload
    pseudo by other ways (e.g. by spilling non-reload pseudos).  For
    simplicity the subpass works on one split base (as each split
    changes pseudo live range info).  In this case it results in
    reaching maximal possible number of subpasses.  The patch
    implements as many non-overlapping hard reg splits
    splits as possible on each subpass.

    gcc/ChangeLog:

            PR rtl-optimization/104637
            * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
            as possible on one subpass.

    gcc/testsuite/ChangeLog:

            PR rtl-optimization/104637
            * gcc.target/i386/pr104637.c: New.


More information about the Gcc-bugs mailing list