[Bug rtl-optimization/122215] Nondeterminism in ra on riscv32

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Dec 11 15:14:04 GMT 2025


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

--- Comment #17 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Vladimir Makarov
<vmakarov@gcc.gnu.org>:

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

commit r14-12197-gbac903e29145adb3d611cf37e03fd553954c9ffb
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Thu Dec 11 09:21:00 2025 -0500

    [PR122215, IRA]: Fix undefined behaviour of improve_allocation

    Register filters are used in one loop of improve_allocation to ignore some
    hard regs for cost calculation but it is missed in the subsequent loop
    using the costs.  This results in usage of random (undefined) register
costs
    and in sporadic code generation for riscv32 which uses the filters.

    gcc/ChangeLog:

            PR rtl-optimization/122215
            * ira-color.cc (improve_allocation): Use register filter for all
            loop on hard regs.


More information about the Gcc-bugs mailing list