vect: Use LOOP_VINFO_DATAREFS and LOOP_VINFO_DDRS consistently
authorFei Yang <felix.yang@huawei.com>
Sat, 13 Jun 2020 02:42:49 +0000 (10:42 +0800)
committerRichard Biener <rguenther@suse.de>
Mon, 15 Jun 2020 09:10:58 +0000 (11:10 +0200)
Minor code refactorings in tree-vect-data-refs.c and tree-vect-loop.c.
Use LOOP_VINFO_DATAREFS and LOOP_VINFO_DDRS when possible and rename
several parameters to make code more consistent.

2020-06-13  Felix Yang  <felix.yang@huawei.com>

gcc/
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Rename
parameter to loop_vinfo and update uses.  Use LOOP_VINFO_DATAREFS
when possible.
(vect_analyze_data_refs_alignment): Likewise, and use LOOP_VINFO_DDRS
when possible.
* tree-vect-loop.c (vect_dissolve_slp_only_groups): Use
LOOP_VINFO_DATAREFS when possible.
(update_epilogue_loop_vinfo): Likewise.

gcc/tree-vect-data-refs.c
gcc/tree-vect-loop.c

index 3e86980..4164bf4 100644 (file)
@@ -1189,19 +1189,19 @@ verify_data_ref_alignment (vec_info *vinfo, dr_vec_info *dr_info)
    handled with respect to alignment.  */
 
 opt_result
-vect_verify_datarefs_alignment (loop_vec_info vinfo)
+vect_verify_datarefs_alignment (loop_vec_info loop_vinfo)
 {
-  vec<data_reference_p> datarefs = vinfo->shared->datarefs;
+  vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (loop_vinfo);
   struct data_reference *dr;
   unsigned int i;
 
   FOR_EACH_VEC_ELT (datarefs, i, dr)
     {
-      dr_vec_info *dr_info = vinfo->lookup_dr (dr);
+      dr_vec_info *dr_info = loop_vinfo->lookup_dr (dr);
       if (!vect_relevant_for_alignment_p (dr_info))
        continue;
 
-      opt_result res = verify_data_ref_alignment (vinfo, dr_info);
+      opt_result res = verify_data_ref_alignment (loop_vinfo, dr_info);
       if (!res)
        return res;
     }
@@ -2379,28 +2379,28 @@ vect_find_same_alignment_drs (vec_info *vinfo, data_dependence_relation *ddr)
    Return FALSE if a data reference is found that cannot be vectorized.  */
 
 opt_result
-vect_analyze_data_refs_alignment (loop_vec_info vinfo)
+vect_analyze_data_refs_alignment (loop_vec_info loop_vinfo)
 {
   DUMP_VECT_SCOPE ("vect_analyze_data_refs_alignment");
 
   /* Mark groups of data references with same alignment using
      data dependence information.  */
-  vec<ddr_p> ddrs = vinfo->shared->ddrs;
+  vec<ddr_p> ddrs = LOOP_VINFO_DDRS (loop_vinfo);
   struct data_dependence_relation *ddr;
   unsigned int i;
 
   FOR_EACH_VEC_ELT (ddrs, i, ddr)
-    vect_find_same_alignment_drs (vinfo, ddr);
+    vect_find_same_alignment_drs (loop_vinfo, ddr);
 
-  vec<data_reference_p> datarefs = vinfo->shared->datarefs;
+  vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (loop_vinfo);
   struct data_reference *dr;
 
-  vect_record_base_alignments (vinfo);
+  vect_record_base_alignments (loop_vinfo);
   FOR_EACH_VEC_ELT (datarefs, i, dr)
     {
-      dr_vec_info *dr_info = vinfo->lookup_dr (dr);
+      dr_vec_info *dr_info = loop_vinfo->lookup_dr (dr);
       if (STMT_VINFO_VECTORIZABLE (dr_info->stmt))
-       vect_compute_data_ref_alignment (vinfo, dr_info);
+       vect_compute_data_ref_alignment (loop_vinfo, dr_info);
     }
 
   return opt_result::success ();
index 6311e79..08c9f11 100644 (file)
@@ -1843,7 +1843,7 @@ vect_dissolve_slp_only_groups (loop_vec_info loop_vinfo)
 
   DUMP_VECT_SCOPE ("vect_dissolve_slp_only_groups");
 
-  vec<data_reference_p> datarefs = loop_vinfo->shared->datarefs;
+  vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (loop_vinfo);
   FOR_EACH_VEC_ELT (datarefs, i, dr)
     {
       gcc_assert (DR_REF (dr));
@@ -8478,7 +8478,7 @@ update_epilogue_loop_vinfo (class loop *epilogue, tree advance)
     }
 
   struct data_reference *dr;
-  vec<data_reference_p> datarefs = epilogue_vinfo->shared->datarefs;
+  vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (epilogue_vinfo);
   FOR_EACH_VEC_ELT (datarefs, i, dr)
     {
       orig_stmt = DR_STMT (dr);