This was only used for non-SLP.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

        * tree-vectorizer.h (_stmt_vec_info::store_count): Remove.
        (DR_GROUP_STORE_COUNT): Likewise.
        * tree-vect-stmts.cc (vect_transform_stmt): Remove non-SLP
        path.
---
 gcc/tree-vect-stmts.cc | 18 +++---------------
 gcc/tree-vectorizer.h  |  5 -----
 2 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index 01fc46cd246..841733349b5 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -12773,21 +12773,9 @@ vect_transform_stmt (vec_info *vinfo,
       break;
 
     case store_vec_info_type:
-      if (STMT_VINFO_GROUPED_ACCESS (stmt_info)
-         && !slp_node
-         && (++DR_GROUP_STORE_COUNT (DR_GROUP_FIRST_ELEMENT (stmt_info))
-             < DR_GROUP_SIZE (DR_GROUP_FIRST_ELEMENT (stmt_info))))
-       /* In case of interleaving, the whole chain is vectorized when the
-          last store in the chain is reached.  Store stmts before the last
-          one are skipped, and there vec_stmt_info shouldn't be freed
-          meanwhile.  */
-       ;
-      else
-       {
-         done = vectorizable_store (vinfo, stmt_info, gsi, slp_node, NULL);
-         gcc_assert (done);
-         is_store = true;
-       }
+      done = vectorizable_store (vinfo, stmt_info, gsi, slp_node, NULL);
+      gcc_assert (done);
+      is_store = true;
       break;
 
     case condition_vec_info_type:
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 6e75c3dc017..18e672b26a7 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -1544,9 +1544,6 @@ public:
   stmt_vec_info next_element;
   /* The size of the group.  */
   unsigned int size;
-  /* For stores, number of stores from this group seen. We vectorize the last
-     one.  */
-  unsigned int store_count;
   /* For loads only, the gap from the previous load. For consecutive loads, GAP
      is 1.  */
   unsigned int gap;
@@ -1710,8 +1707,6 @@ struct gather_scatter_info {
   (gcc_checking_assert ((S)->dr_aux.dr), (S)->next_element)
 #define DR_GROUP_SIZE(S) \
   (gcc_checking_assert ((S)->dr_aux.dr), (S)->size)
-#define DR_GROUP_STORE_COUNT(S) \
-  (gcc_checking_assert ((S)->dr_aux.dr), (S)->store_count)
 #define DR_GROUP_GAP(S) \
   (gcc_checking_assert ((S)->dr_aux.dr), (S)->gap)
 
-- 
2.51.0

Reply via email to