diff options
author | Richard Biener <rguenther@suse.de> | 2025-08-12 15:47:06 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2025-08-13 09:53:49 +0200 |
commit | 2c0ce83c9faa1cbea9136a35de14a9f07b4fe6d4 (patch) | |
tree | 7d098e8ea0a03f42070e5b6dd96bb614727b1574 | |
parent | e6f4543f63366433493b3870845b555fd00be7e6 (diff) | |
download | gcc-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.cc | 3 | ||||
-rw-r--r-- | gcc/tree-vect-stmts.cc | 2 | ||||
-rw-r--r-- | 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 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); |