From: Sam James Date: Mon, 23 Jun 2025 22:28:01 +0000 (+0100) Subject: Fixup dropping REG_EQUAL note in ext-dce X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdd678544fefc313cb1c9da0327158d3ed355f62;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ext-dce.cc b/gcc/ext-dce.cc index b1d5ee4b36c..df17b018bf1 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 {