aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-08-12 15:47:06 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2025-08-13 09:53:49 +0200
commit2c0ce83c9faa1cbea9136a35de14a9f07b4fe6d4 (patch)
tree7d098e8ea0a03f42070e5b6dd96bb614727b1574
parente6f4543f63366433493b3870845b555fd00be7e6 (diff)
downloadgcc-2c0ce83c9faa1cbea9136a35de14a9f07b4fe6d4.zip
gcc-2c0ce83c9faa1cbea9136a35de14a9f07b4fe6d4.tar.gz
gcc-2c0ce83c9faa1cbea9136a35de14a9f07b4fe6d4.tar.bz2
Simplify vect_supportable_dr_alignment API
The gather_scatter_info pointer is only used as flag, so pass down a flag. * 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.
-rw-r--r--gcc/tree-vect-data-refs.cc3
-rw-r--r--gcc/tree-vect-stmts.cc2
-rw-r--r--gcc/tree-vectorizer.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-vect-data-refs.cc b/gcc/tree-vect-data-refs.cc
index a3d3b3e..4cfd1a3 100644
--- a/gcc/tree-vect-data-refs.cc
+++ b/gcc/tree-vect-data-refs.cc
@@ -6541,7 +6541,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;
@@ -6652,7 +6652,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 22397dc..1aa3c37 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -2346,7 +2346,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,
- *memory_access_type == VMAT_GATHER_SCATTER ? gs_info : nullptr);
+ *memory_access_type == VMAT_GATHER_SCATTER);
}
if (overrun_p)
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 041cff8..729c704 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -2549,7 +2549,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);