[Bug target/123833] [16 Regression] mips64el: ICE at -O1 during RTL pass: ce1

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Feb 7 07:52:18 GMT 2026


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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Roger Sayle <sayle@gcc.gnu.org>:

https://gcc.gnu.org/g:654c733fa3f10531f3fd6b6d89e39f28c0075bd6

commit r16-7376-g654c733fa3f10531f3fd6b6d89e39f28c0075bd6
Author: Roger Sayle <roger@nextmovesoftware.com>
Date:   Sat Feb 7 07:50:41 2026 +0000

    PR rtl-optimization/123833: Use of insn attributes in insn_costs corrupts
recog_data.

    Thanks again to Jeff Law and Andrew Pinski.  Here's a revised patch that
    addresses the true underlying cause of PR 128333.  recog.cc's
cancel_changes
    was not correctly updating the recog_data cache, which leads to strange
    (incorrect) behavior in fwprop and ifcvt.

    2026-02-07  Roger Sayle  <roger@nextmovesoftware.com>
                Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
                Jeff Law  <jeffrey.law@oss.qualcomm.com>

    gcc/ChangeLog
            PR rtl-optimization/123833
            * recog.cc (cancel_changes): Update the recog_data cache if it
            holds the instruction being changed.

    gcc/testsuite
            PR rtl-optimization/123833
            * gcc.target/mips/pr123833.c: New test case.


More information about the Gcc-bugs mailing list