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

commit r16-1637-gcdd678544fefc313cb1c9da0327158d3ed355f62
Author: Sam James <s...@gentoo.org>
Date:   Mon Jun 23 23:28:01 2025 +0100

    Fixup dropping REG_EQUAL note in ext-dce
    
    Followup to r16-1613-g34e1e5e33ec3eb. remove_reg_equal_equiv_notes's
    2nd argument is 'no_rescan' which we accidentally had on, tripping
    an assert in combine or ira because we hadn't left things in a consistent
    state.
    
    Fix the thinko by enabling rescanning.
    
    gcc/ChangeLog:
            PR rtl-optimization/120795
    
            * ext-dce.cc (ext_dce_try_optimize_insn): Enable rescan in
            remove_reg_equal_equiv_notes call.
    
    Co-authored-by: Jeff Law <j...@ventanamicro.com>

Diff:
---
 gcc/ext-dce.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc
index b1d5ee4b36c4..df17b018bf1f 100644
--- a/gcc/ext-dce.cc
+++ b/gcc/ext-dce.cc
@@ -446,7 +446,7 @@ ext_dce_try_optimize_insn (rtx_insn *insn, rtx set)
       /* INSN may have a REG_EQUAL note indicating that the value was
         sign or zero extended.  That note is no longer valid since we've
         just removed the extension.  Just wipe the notes.  */
-      remove_reg_equal_equiv_notes (insn, true);
+      remove_reg_equal_equiv_notes (insn, false);
     }
   else
     {

Reply via email to