[39/46] Change STMT_VINFO_UNALIGNED_DR to a dr_vec_info
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 31 Jul 2018 14:26:10 +0000 (14:26 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 31 Jul 2018 14:26:10 +0000 (14:26 +0000)
After previous changes, it makes more sense for STMT_VINFO_UNALIGNED_DR
to be dr_vec_info rather than a data_reference.

2018-07-31  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vectorizer.h (_loop_vec_info::unaligned_dr): Change to
dr_vec_info.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Update
accordingly.
* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
* tree-vect-loop-manip.c (get_misalign_in_elems): Likewise.
(vect_gen_prolog_loop_niters): Likewise.

From-SVN: r263154

gcc/ChangeLog
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c
gcc/tree-vectorizer.h

index 298e2e9cf29171c6d1e8b7d2d7a4318bbe914b4a..a9d81d4aaacaaf8d3fe66a615d6b6e910e1a6b78 100644 (file)
@@ -1,3 +1,13 @@
+2018-07-31  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vectorizer.h (_loop_vec_info::unaligned_dr): Change to
+       dr_vec_info.
+       * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Update
+       accordingly.
+       * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
+       * tree-vect-loop-manip.c (get_misalign_in_elems): Likewise.
+       (vect_gen_prolog_loop_niters): Likewise.
+
 2018-07-31  Richard Sandiford  <richard.sandiford@arm.com>
 
        * tree-vectorizer.h (set_dr_misalignment, dr_misalignment)
index 193575dff54e86e661017f6b3d4725465b9cafaf..aac7fb4e9e87dbc1dea57c36e2603b428e01bdea 100644 (file)
@@ -2135,7 +2135,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
                vect_update_misalignment_for_peel (dr_info, dr0_info, npeel);
              }
 
-          LOOP_VINFO_UNALIGNED_DR (loop_vinfo) = dr0_info->dr;
+          LOOP_VINFO_UNALIGNED_DR (loop_vinfo) = dr0_info;
           if (npeel)
             LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) = npeel;
           else
index 58cfebf23bb576a58850bc699885c011d8f95780..e566333420da6e0e20513453ea8e42363e8cf8ae 100644 (file)
@@ -1560,7 +1560,7 @@ vect_update_ivs_after_vectorizer (loop_vec_info loop_vinfo,
 static tree
 get_misalign_in_elems (gimple **seq, loop_vec_info loop_vinfo)
 {
-  dr_vec_info *dr_info = DR_VECT_AUX (LOOP_VINFO_UNALIGNED_DR (loop_vinfo));
+  dr_vec_info *dr_info = LOOP_VINFO_UNALIGNED_DR (loop_vinfo);
   stmt_vec_info stmt_info = dr_info->stmt;
   tree vectype = STMT_VINFO_VECTYPE (stmt_info);
 
@@ -1627,7 +1627,7 @@ static tree
 vect_gen_prolog_loop_niters (loop_vec_info loop_vinfo,
                             basic_block bb, int *bound)
 {
-  dr_vec_info *dr_info = DR_VECT_AUX (LOOP_VINFO_UNALIGNED_DR (loop_vinfo));
+  dr_vec_info *dr_info = LOOP_VINFO_UNALIGNED_DR (loop_vinfo);
   tree var;
   tree niters_type = TREE_TYPE (LOOP_VINFO_NITERS (loop_vinfo));
   gimple_seq stmts = NULL, new_stmts = NULL;
index dc67dc5bebec0cd6816755f27b7cca48c7e467e3..32643d303afe420f229edfdd23a05ecea0784435 100644 (file)
@@ -2142,8 +2142,7 @@ start_over:
          /* Niters for peeled prolog loop.  */
          if (LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0)
            {
-             dr_vec_info *dr_info
-               = DR_VECT_AUX (LOOP_VINFO_UNALIGNED_DR (loop_vinfo));
+             dr_vec_info *dr_info = LOOP_VINFO_UNALIGNED_DR (loop_vinfo);
              tree vectype = STMT_VINFO_VECTYPE (dr_info->stmt);
              niters_th += TYPE_VECTOR_SUBPARTS (vectype) - 1;
            }
index d45c573db38bf994bb1e0e0f1f20e4367cc507bf..a9c9805c51f70c376698ff206714e96d55d63bb3 100644 (file)
@@ -437,7 +437,7 @@ typedef struct _loop_vec_info : public vec_info {
   tree mask_compare_type;
 
   /* Unknown DRs according to which loop was peeled.  */
-  struct data_reference *unaligned_dr;
+  struct dr_vec_info *unaligned_dr;
 
   /* peeling_for_alignment indicates whether peeling for alignment will take
      place, and what the peeling factor should be: