[22/46] Make DR_GROUP_SAME_DR_STMT a stmt_vec_info

Message ID 87a7qhostm.fsf@arm.com
State New
Headers show
Series
  • Remove vinfo_for_stmt etc.
Related show

Commit Message

Richard Sandiford July 24, 2018, 10:01 a.m.
This patch changes STMT_VINFO_SAME_DR_STMT from a gimple stmt to a
stmt_vec_info.


2018-07-24  Richard Sandiford  <richard.sandiford@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.

Comments

Richard Biener July 25, 2018, 9:28 a.m. | #1
On Tue, Jul 24, 2018 at 12:02 PM Richard Sandiford
<richard.sandiford@arm.com> wrote:
>

> This patch changes STMT_VINFO_SAME_DR_STMT from a gimple stmt to a

> stmt_vec_info.


OK.

>

> 2018-07-24  Richard Sandiford  <richard.sandiford@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,

Patch

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,