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

commit r15-1462-ga944e57506fc64b8eede79c2405ba0b498461f0b
Author: Feng Xue <f...@os.amperecomputing.com>
Date:   Sun Jun 16 12:08:56 2024 +0800

    vect: Remove duplicated check on reduction operand
    
    In vectorizable_reduction, one check on a reduction operand via index could 
be
    contained by another one check via pointer, so remove the former.
    
    2024-06-16 Feng Xue <f...@os.amperecomputing.com>
    
    gcc/
            * tree-vect-loop.cc (vectorizable_reduction): Remove the duplicated
            check.

Diff:
---
 gcc/tree-vect-loop.cc | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index eeb75c09e91a..aab408d1019d 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -7815,11 +7815,9 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
                             "use not simple.\n");
          return false;
        }
-      if (i == STMT_VINFO_REDUC_IDX (stmt_info))
-       continue;
 
-      /* For an IFN_COND_OP we might hit the reduction definition operand
-        twice (once as definition, once as else).  */
+      /* Skip reduction operands, and for an IFN_COND_OP we might hit the
+        reduction operand twice (once as definition, once as else).  */
       if (op.ops[i] == op.ops[STMT_VINFO_REDUC_IDX (stmt_info)])
        continue;

Reply via email to