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

commit r17-5239-ga9b26510e83a6076dad3e25c0b12a8e21acd6278
Author: Trevor Saunders <[email protected]>
Date:   Wed Oct 14 14:27:13 2026 +0200

    use rtx_insn * more in config/i386/
    
    gcc/ChangeLog:
    
            * config/i386/i386-protos.h (ix86_check_movabs): Take an
            rtx_insn *.
            * config/i386/i386.cc (ix86_check_movabs): Likewise.
            (insn_is_function_arg): Likewise.
            * config/i386/x86-tune-sched-bd.cc (find_constant): Likewise.

Diff:
---
 gcc/config/i386/i386-protos.h        |  2 +-
 gcc/config/i386/i386.cc              | 14 +++++++-------
 gcc/config/i386/x86-tune-sched-bd.cc |  5 ++---
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 915371c976c7..e969e3c58af8 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -188,7 +188,7 @@ extern void ix86_expand_v1ti_ashiftrt (rtx[]);
 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_movabs (rtx_insn *, int);
 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);
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 843af8a61fe1..136c339c8cab 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -5325,7 +5325,7 @@ ix86_gimplify_va_arg (tree valist, tree type, gimple_seq 
*pre_p,
    in movabs* patterns.  */
 
 bool
-ix86_check_movabs (rtx insn, int opnum)
+ix86_check_movabs (rtx_insn *insn, int opnum)
 {
   rtx set, mem;
 
@@ -18291,7 +18291,7 @@ ix86_class_likely_spilled_p (reg_class_t);
 /* Returns true if lhs of insn is HW function argument register and set up
    is_spilled to true if it is likely spilled HW register.  */
 static bool
-insn_is_function_arg (rtx insn, bool* is_spilled)
+insn_is_function_arg (rtx_insn *insn, bool* is_spilled)
 {
   rtx dst;
 
@@ -18300,12 +18300,12 @@ insn_is_function_arg (rtx insn, bool* is_spilled)
   /* Call instructions are not movable, ignore it.  */
   if (CALL_P (insn))
     return false;
-  insn = PATTERN (insn);
-  if (GET_CODE (insn) == PARALLEL)
-    insn = XVECEXP (insn, 0, 0);
-  if (GET_CODE (insn) != SET)
+  rtx pat = PATTERN (insn);
+  if (GET_CODE (pat) == PARALLEL)
+    pat = XVECEXP (pat, 0, 0);
+  if (GET_CODE (pat) != SET)
     return false;
-  dst = SET_DEST (insn);
+  dst = SET_DEST (pat);
   if (REG_P (dst) && HARD_REGISTER_P (dst)
       && ix86_function_arg_regno_p (REGNO (dst)))
     {
diff --git a/gcc/config/i386/x86-tune-sched-bd.cc 
b/gcc/config/i386/x86-tune-sched-bd.cc
index ade6f45a55c8..5056fc676e08 100644
--- a/gcc/config/i386/x86-tune-sched-bd.cc
+++ b/gcc/config/i386/x86-tune-sched-bd.cc
@@ -332,10 +332,9 @@ allocate_next_window (int window_num)
 /* Compute number of immediate operands of an instruction.  */
 
 static void
-find_constant (rtx in_rtx, imm_info *imm_values)
+find_constant (rtx_insn *insn, imm_info *imm_values)
 {
-  if (INSN_P (in_rtx))
-    in_rtx = PATTERN (in_rtx);
+  rtx in_rtx = INSN_P (insn) ? PATTERN (insn) : insn;
   subrtx_iterator::array_type array;
   FOR_EACH_SUBRTX (iter, array, in_rtx, ALL)
     if (const_rtx x = *iter)

Reply via email to