https://gcc.gnu.org/g:e0caa5f06da775b9e90d8f7a091e1d8af97b693c
commit r17-5371-ge0caa5f06da775b9e90d8f7a091e1d8af97b693c Author: Trevor Saunders <[email protected]> Date: Fri Oct 16 18:59:04 2026 +0200 Pass an rtx_insn * to multiple_sets Callers already pass an insn. The call in find_reg_equal_equiv_note is cast after the INSN_P check. gcc/ChangeLog: * rtl.h (multiple_sets): Take a const rtx_insn *. * rtlanal.cc (multiple_sets): Likewise. (find_reg_equal_equiv_note): Cast after the INSN_P check. Diff: --- gcc/rtl.h | 2 +- gcc/rtlanal.cc | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/rtl.h b/gcc/rtl.h index aff696b346bb..9cc9ef351f63 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -3736,7 +3736,7 @@ extern bool modified_between_p (const_rtx, const rtx_insn *, const rtx_insn *); extern bool no_labels_between_p (const rtx_insn *, const rtx_insn *); extern bool modified_in_p (const_rtx, const_rtx); extern bool reg_set_p (const_rtx, const_rtx); -extern bool multiple_sets (const_rtx); +extern bool multiple_sets (const rtx_insn *); extern bool set_noop_p (const_rtx); extern bool noop_move_p (const rtx_insn *); extern bool refers_to_regno_p (unsigned int, unsigned int, const_rtx, rtx *); diff --git a/gcc/rtlanal.cc b/gcc/rtlanal.cc index 7f170cb7dfc2..4a060449dbcb 100644 --- a/gcc/rtlanal.cc +++ b/gcc/rtlanal.cc @@ -1590,7 +1590,7 @@ single_set_2 (const rtx_insn *insn, const_rtx pat) false. */ bool -multiple_sets (const_rtx insn) +multiple_sets (const rtx_insn *insn) { bool found; int i; @@ -2585,7 +2585,8 @@ find_reg_equal_equiv_note (const_rtx insn) in the comment in set_unique_reg_note. This should be changed into an assert. */ - if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets (insn)) + if (GET_CODE (PATTERN (insn)) == PARALLEL + && multiple_sets (as_a<const rtx_insn *> (insn))) return 0; return link; }
