This patch changes STMT_VINFO_SAME_DR_STMT from a gimple stmt to a
stmt_vec_info.


2018-07-24  Richard Sandiford  <richard.sandif...@arm.com>

gcc/
        * tree-vectorizer.h (_stmt_vec_info::same_dr_stmt): Change from
        a gimple stmt to a stmt_vec_info.
        * tree-vect-stmts.c (vectorizable_load): Update accordingly.

Index: gcc/tree-vectorizer.h
===================================================================
--- gcc/tree-vectorizer.h       2018-07-24 10:23:12.060939107 +0100
+++ gcc/tree-vectorizer.h       2018-07-24 10:23:15.756906285 +0100
@@ -876,7 +876,7 @@ struct _stmt_vec_info {
   stmt_vec_info next_element;
   /* For data-refs, in case that two or more stmts share data-ref, this is the
      pointer to the previously detected stmt with the same dr.  */
-  gimple *same_dr_stmt;
+  stmt_vec_info same_dr_stmt;
   /* The size of the group.  */
   unsigned int size;
   /* For stores, number of stores from this group seen. We vectorize the last
Index: gcc/tree-vect-stmts.c
===================================================================
--- gcc/tree-vect-stmts.c       2018-07-24 10:23:08.536970400 +0100
+++ gcc/tree-vect-stmts.c       2018-07-24 10:23:15.756906285 +0100
@@ -7590,8 +7590,7 @@ vectorizable_load (gimple *stmt, gimple_
         we have to give up.  */
       if (DR_GROUP_SAME_DR_STMT (stmt_info)
          && (STMT_SLP_TYPE (stmt_info)
-             != STMT_SLP_TYPE (vinfo_for_stmt
-                                (DR_GROUP_SAME_DR_STMT (stmt_info)))))
+             != STMT_SLP_TYPE (DR_GROUP_SAME_DR_STMT (stmt_info))))
        {
          if (dump_enabled_p ())
            dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,

Reply via email to