The gather_scatter_info pointer is only used as flag, so pass down
a flag.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        * tree-vectorizer.h (vect_supportable_dr_alignment): Pass
        a bool instead of a pointer to gather_scatter_info.
        * tree-vect-data-refs.cc (vect_supportable_dr_alignment):
        Likewise.
        * tree-vect-stmts.cc (get_load_store_type): Adjust.
---
 gcc/tree-vect-data-refs.cc | 3 +--
 gcc/tree-vect-stmts.cc     | 2 +-
 gcc/tree-vectorizer.h      | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index e96feb0acf6..41cf45e2476 100644
--- a/gcc/tree-vect-data-refs.cc
+++ b/gcc/tree-vect-data-refs.cc
@@ -6556,7 +6556,7 @@ vect_can_force_dr_alignment_p (const_tree decl, 
poly_uint64 alignment)
 enum dr_alignment_support
 vect_supportable_dr_alignment (vec_info *vinfo, dr_vec_info *dr_info,
                               tree vectype, int misalignment,
-                              gather_scatter_info *gs_info)
+                              bool is_gather_scatter)
 {
   data_reference *dr = dr_info->dr;
   stmt_vec_info stmt_info = dr_info->stmt;
@@ -6667,7 +6667,6 @@ vect_supportable_dr_alignment (vec_info *vinfo, 
dr_vec_info *dr_info,
 
   bool is_packed = false;
   tree type = TREE_TYPE (DR_REF (dr));
-  bool is_gather_scatter = gs_info != nullptr;
   if (misalignment == DR_MISALIGNMENT_UNKNOWN)
     is_packed = not_size_aligned (DR_REF (dr));
   if (targetm.vectorize.support_vector_misalignment (mode, type, misalignment,
diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index 36bc9afd093..55adaddef57 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -2347,7 +2347,7 @@ get_load_store_type (vec_info  *vinfo, stmt_vec_info 
stmt_info,
       *alignment_support_scheme
        = vect_supportable_dr_alignment
           (vinfo, first_dr_info, vectype, *misalignment,
-           mat_gather_scatter_p (*memory_access_type) ? gs_info : nullptr);
+           mat_gather_scatter_p (*memory_access_type));
     }
 
   if (overrun_p)
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 594dce717f2..23ebce9a348 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -2576,7 +2576,7 @@ extern bool ref_within_array_bound (gimple *, tree);
 extern bool vect_can_force_dr_alignment_p (const_tree, poly_uint64);
 extern enum dr_alignment_support vect_supportable_dr_alignment
                                   (vec_info *, dr_vec_info *, tree, int,
-                                    gather_scatter_info * = nullptr);
+                                   bool = false);
 extern tree vect_get_smallest_scalar_type (stmt_vec_info, tree);
 extern opt_result vect_analyze_data_ref_dependences (loop_vec_info, unsigned 
int *);
 extern bool vect_slp_analyze_instance_dependence (vec_info *, slp_instance);
-- 
2.43.0

Reply via email to