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

commit r17-4063-gf351bf806c75df394bdee72a656389ac8fe7ce15
Author: Kyrylo Tkachov <[email protected]>
Date:   Sun Sep 6 13:00:30 2026 +0200

    ifcvt: assorted small cleanups
    
    cond_exec_find_if_block stores ce_info->last_test_bb on entry and again, 
with
    the same value, once it has found an && or || block.  Drop the second store.
    
    The rest are spelling changes: an elaborated struct type and a stray space 
in
    two signatures, a pointer compared against NULL_RTX, a bool passed for an 
int
    normalize argument, and an index loop that reads better as a range-for.
    
    gcc/ChangeLog:
    
            * ifcvt.cc (noce_try_store_flag_logical): Pass 0, not false, for the
            normalize argument.
            (noce_convert_multiple_sets): Use a range-for over insn_info.
            (merge_if_block, cond_exec_find_if_block): Drop the elaborated 
struct
            type.
            (block_jumps_and_fallthru): Test the insn pointer directly.
            (cond_exec_find_if_block): Drop a redundant last_test_bb store.
    
    Signed-off-by: Kyrylo Tkachov <[email protected]>

Diff:
---
 gcc/ifcvt.cc | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/gcc/ifcvt.cc b/gcc/ifcvt.cc
index 6d90857c12d7..6d490c4842ae 100644
--- a/gcc/ifcvt.cc
+++ b/gcc/ifcvt.cc
@@ -2133,7 +2133,7 @@ noce_try_store_flag_logical (struct noce_if_info *if_info)
      adjust its value (if necessary) to -1/0.  */
   start_sequence ();
   rtx temp = gen_reg_rtx (mode);
-  rtx target = noce_emit_store_flag (if_info, temp, !swapped, false);
+  rtx target = noce_emit_store_flag (if_info, temp, !swapped, 0);
   if (!target)
     {
       end_sequence ();
@@ -4238,10 +4238,10 @@ noce_convert_multiple_sets (struct noce_if_info 
*if_info)
     set_used_flags (insn);
 
   /* Mark all our temporaries and targets as used.  */
-  for (unsigned i = 0; i < insn_info.length (); i++)
+  for (const noce_multiple_sets_info *msi : insn_info)
     {
-      set_used_flags (insn_info[i]->temporary);
-      set_used_flags (insn_info[i]->target);
+      set_used_flags (msi->temporary);
+      set_used_flags (msi->target);
     }
 
   set_used_flags (cond);
@@ -5585,7 +5585,7 @@ merge_block_into_combo (basic_block combo_bb, basic_block 
bb)
 /* Merge the blocks and mark for local life update.  */
 
 static void
-merge_if_block (struct ce_if_block * ce_info)
+merge_if_block (ce_if_block *ce_info)
 {
   basic_block test_bb = ce_info->test_bb;      /* last test block */
   basic_block then_bb = ce_info->then_bb;      /* THEN */
@@ -5823,7 +5823,7 @@ block_jumps_and_fallthru (basic_block cur_bb, basic_block 
target_bb)
   end = BB_END (cur_bb);
   insn = BB_HEAD (cur_bb);
 
-  while (insn != NULL_RTX)
+  while (insn)
     {
       if (CALL_P (insn))
        return -1;
@@ -5849,7 +5849,7 @@ block_jumps_and_fallthru (basic_block cur_bb, basic_block 
target_bb)
    Return TRUE if we were successful at converting the block.  */
 
 static bool
-cond_exec_find_if_block (struct ce_if_block * ce_info)
+cond_exec_find_if_block (ce_if_block *ce_info)
 {
   basic_block test_bb = ce_info->test_bb;
   basic_block then_bb = ce_info->then_bb;
@@ -5895,8 +5895,6 @@ cond_exec_find_if_block (struct ce_if_block * ce_info)
          int total_insns = 0;
          int blocks = 0;
 
-         ce_info->last_test_bb = test_bb;
-
          /* Found at least one && or || block, look for more.  */
          do
            {

Reply via email to