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

commit r16-3157-gbceae48c3c0978fc840169dd4b487c24a0ac5c53
Author: Richard Biener <rguent...@suse.de>
Date:   Mon Aug 11 11:20:41 2025 +0200

    Do not use STMT_VINFO_VECTYPE in vectorizable_reduction
    
    There's one use of STMT_VINFO_VECTYPE in vectorizable_reduction
    where I'm only 99% sure which SLP_TREE_VECTYPE to replace it with
    (vectorizable_reduction needs a lot of post-only-SLP TLC).  The
    following replaces it with the hopefully appropriate one.
    
            * tree-vect-loop.cc (vectorizable_reduction): Replace
            STMT_VINFO_VECTYPE use with SLP_TREE_VECTYPE.

Diff:
---
 gcc/tree-vect-loop.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 5fc24dc8fcdb..64e5c23c2e23 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -7225,7 +7225,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
                vectype_in = vectype_op;
            }
          else if (!vectype_in)
-           vectype_in = STMT_VINFO_VECTYPE (phi_info);
+           vectype_in = SLP_TREE_VECTYPE (slp_node);
          if (!REDUC_GROUP_FIRST_ELEMENT (vdef))
            vdef_slp = SLP_TREE_CHILDREN (vdef_slp)[reduc_idx];
        }

Reply via email to