https://gcc.gnu.org/g:47be1c267605af617de741f039a4009a94fcb71f

commit r17-5234-g47be1c267605af617de741f039a4009a94fcb71f
Author: Trevor Saunders <[email protected]>
Date:   Wed Oct 14 14:26:11 2026 +0200

    config/i386/ use rtx_insn * more
    
    gcc/ChangeLog:
    
            * config/i386/i386-expand.cc (ix86_expand_sse2_mulv4si3): Record
            the emitted insn as an rtx_insn *.
            * config/i386/i386-protos.h (ix86_dep_by_shift_count): Take an
            rtx_insn *.
            (ix86_match_ccmode): Likewise.
            (ix86_match_ptest_ccmode): Likewise.
            (ix86_check_movs): Likewise.
            (ix86_check_no_addr_space): Likewise.
            * config/i386/i386.cc (ix86_check_movs): Likewise.
            (ix86_check_no_addr_space): Likewise.
            (insn_uses_reg_mem): Likewise.
            (ix86_dep_by_shift_count): Likewise.
            (ix86_match_ccmode): Likewise.
            (ix86_match_ptest_ccmode): Likewise.
            * config/i386/x86-tune-sched-atom.cc (swap_top_of_ready_list):
            Read DEP_PRO as an rtx_insn *.

Diff:
---
 gcc/config/i386/i386-expand.cc         |  4 ++--
 gcc/config/i386/i386-protos.h          | 11 ++++++-----
 gcc/config/i386/i386.cc                | 12 ++++++------
 gcc/config/i386/x86-tune-sched-atom.cc |  6 ++----
 4 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index dab5e98a2e35..30da8c7fcfff 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -28750,9 +28750,9 @@ ix86_expand_sse2_mulv4si3 (rtx op0, rtx op1, rtx op2)
   emit_insn (gen_sse2_pshufd_1 (res_2, gen_lowpart (V4SImode, res_4),
                                const0_rtx, const2_rtx,
                                const0_rtx, const0_rtx));
-  res_1 = emit_insn (gen_vec_interleave_lowv4si (op0, res_1, res_2));
+  rtx_insn *insn = emit_insn (gen_vec_interleave_lowv4si (op0, res_1, res_2));
 
-  set_unique_reg_note (res_1, REG_EQUAL, gen_rtx_MULT (V4SImode, op1, op2));
+  set_unique_reg_note (insn, REG_EQUAL, gen_rtx_MULT (V4SImode, op1, op2));
 }
 
 void
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 23f82b6239ee..915371c976c7 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -131,7 +131,8 @@ extern void ix86_split_lea_for_addr (rtx_insn *, rtx[], 
machine_mode);
 extern bool ix86_lea_for_add_ok (rtx_insn *, rtx[]);
 extern int ix86_last_zero_store_uid;
 extern bool ix86_vec_interleave_v2df_operator_ok (rtx operands[3], bool high);
-extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn);
+extern bool ix86_dep_by_shift_count (const rtx_insn *set_insn,
+                                     const rtx_insn *use_insn);
 extern bool ix86_agi_dependent (rtx_insn *set_insn, rtx_insn *use_insn);
 extern rtx ix86_build_const_vector (machine_mode, bool, rtx);
 extern rtx ix86_build_signbit_mask (machine_mode, bool, bool);
@@ -151,8 +152,8 @@ extern void ix86_split_fp_absneg_operator (enum rtx_code, 
machine_mode,
                                           rtx[]);
 extern void ix86_expand_copysign (rtx []);
 extern void ix86_expand_xorsign (rtx []);
-extern bool ix86_match_ccmode (rtx, machine_mode);
-extern bool ix86_match_ptest_ccmode (rtx);
+extern bool ix86_match_ccmode (rtx_insn *, machine_mode);
+extern bool ix86_match_ptest_ccmode (rtx_insn *);
 extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx);
 extern void ix86_expand_setcc (rtx, enum rtx_code, rtx, rtx);
 extern bool ix86_expand_int_movcc (rtx[]);
@@ -188,8 +189,8 @@ extern void ix86_expand_v2di_ashiftrt (rtx[]);
 extern rtx ix86_replace_reg_with_reg (rtx, rtx, rtx);
 extern rtx ix86_find_base_term (rtx);
 extern bool ix86_check_movabs (rtx, int);
-extern bool ix86_check_movs (rtx, int);
-extern bool ix86_check_no_addr_space (rtx);
+extern bool ix86_check_movs (rtx_insn *, int);
+extern bool ix86_check_no_addr_space (rtx_insn *);
 extern void ix86_split_idivmod (machine_mode, rtx[], bool);
 extern bool ix86_hardreg_mov_ok (rtx, rtx);
 
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index d556fd101554..843af8a61fe1 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -5342,7 +5342,7 @@ ix86_check_movabs (rtx insn, int opnum)
 
 /* Return true if XVECEXP idx of INSN satisfies MOVS arguments.  */
 bool
-ix86_check_movs (rtx insn, int idx)
+ix86_check_movs (rtx_insn *insn, int idx)
 {
   rtx pat = PATTERN (insn);
   gcc_assert (GET_CODE (pat) == PARALLEL);
@@ -5363,7 +5363,7 @@ ix86_check_movs (rtx insn, int idx)
 
 /* Return false if INSN contains a MEM with a non-default address space.  */
 bool
-ix86_check_no_addr_space (rtx insn)
+ix86_check_no_addr_space (rtx_insn *insn)
 {
   subrtx_var_iterator::array_type array;
   FOR_EACH_SUBRTX_VAR (iter, array, PATTERN (insn), ALL)
@@ -16263,7 +16263,7 @@ insn_defines_reg (unsigned int regno1, unsigned int 
regno2,
    REGNO as a part of address expression.  */
 
 static bool
-insn_uses_reg_mem (unsigned int regno, rtx insn)
+insn_uses_reg_mem (unsigned int regno, rtx_insn *insn)
 {
   df_ref use;
 
@@ -16838,7 +16838,7 @@ ix86_dep_by_shift_count_body (const_rtx set_body, 
const_rtx use_body)
    USE_INSN.  */
 
 bool
-ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn)
+ix86_dep_by_shift_count (const rtx_insn *set_insn, const rtx_insn *use_insn)
 {
   return ix86_dep_by_shift_count_body (PATTERN (set_insn),
                                       PATTERN (use_insn));
@@ -17072,7 +17072,7 @@ int ix86_get_flags_cc (rtx_code code)
    CC mode is at least as constrained as REQ_MODE.  */
 
 bool
-ix86_match_ccmode (rtx insn, machine_mode req_mode)
+ix86_match_ccmode (rtx_insn *insn, machine_mode req_mode)
 {
   rtx set;
   machine_mode set_mode;
@@ -17223,7 +17223,7 @@ ix86_cc_mode (enum rtx_code code, rtx op0, rtx op1)
    INSN has source and destination with suitable matching CC modes.  */
 
 bool
-ix86_match_ptest_ccmode (rtx insn)
+ix86_match_ptest_ccmode (rtx_insn *insn)
 {
   rtx set, src;
   machine_mode set_mode;
diff --git a/gcc/config/i386/x86-tune-sched-atom.cc 
b/gcc/config/i386/x86-tune-sched-atom.cc
index 4e433b0fa652..095882e5e35f 100644
--- a/gcc/config/i386/x86-tune-sched-atom.cc
+++ b/gcc/config/i386/x86-tune-sched-atom.cc
@@ -155,8 +155,7 @@ swap_top_of_ready_list (rtx_insn **ready, int n_ready)
       /* Determine winner more precise.  */
       FOR_EACH_DEP (top, SD_LIST_RES_BACK, sd_it, dep)
        {
-         rtx pro;
-         pro = DEP_PRO (dep);
+         rtx_insn *pro = DEP_PRO (dep);
          if (!NONDEBUG_INSN_P (pro))
            continue;
          if (INSN_TICK (pro) > clock1)
@@ -164,8 +163,7 @@ swap_top_of_ready_list (rtx_insn **ready, int n_ready)
        }
       FOR_EACH_DEP (next, SD_LIST_RES_BACK, sd_it, dep)
        {
-         rtx pro;
-         pro = DEP_PRO (dep);
+         rtx_insn *pro = DEP_PRO (dep);
          if (!NONDEBUG_INSN_P (pro))
            continue;
          if (INSN_TICK (pro) > clock2)

Reply via email to