Remove REDUC_GROUP_* from public interface

The following removes REDUC_GROUP_* from the public vectorizer
interface and privatizes REDUC_GROUP_FIRST_ELEMENT which is now
only temporarily set during SLP discovery.

	* tree-vectorizer.h (REDUC_GROUP_FIRST_ELEMENT,
	REDUC_GROUP_NEXT_ELEMENT, REDUC_GROUP_SIZE): Remove.
	* tree-vect-slp.cc (REDUC_GROUP_FIRST_ELEMENT): Re-instantiate
	here.
This commit is contained in:
Richard Biener 2025-10-14 14:13:56 +02:00
parent 59889eaa2b
commit 9f13fd1b07
2 changed files with 4 additions and 8 deletions

View File

@ -53,6 +53,9 @@ along with GCC; see the file COPYING3. If not see
#include "sreal.h"
#include "predict.h"
#define REDUC_GROUP_FIRST_ELEMENT(S) \
(gcc_checking_assert (!(S)->dr_aux.dr), (S)->first_element)
static bool vect_transform_slp_perm_load_1 (vec_info *, slp_tree,
load_permutation_t &,
const vec<tree> &,

View File

@ -1538,7 +1538,7 @@ public:
/* Whether the stmt is SLPed, loop-based vectorized, or both. */
enum slp_vect_type slp_type;
/* Interleaving and reduction chains info. */
/* Interleaving chains info. */
/* First element in the group. */
stmt_vec_info first_element;
/* Pointer to the next element in the group. */
@ -1711,13 +1711,6 @@ struct gather_scatter_info {
#define DR_GROUP_GAP(S) \
(gcc_checking_assert ((S)->dr_aux.dr), (S)->gap)
#define REDUC_GROUP_FIRST_ELEMENT(S) \
(gcc_checking_assert (!(S)->dr_aux.dr), (S)->first_element)
#define REDUC_GROUP_NEXT_ELEMENT(S) \
(gcc_checking_assert (!(S)->dr_aux.dr), (S)->next_element)
#define REDUC_GROUP_SIZE(S) \
(gcc_checking_assert (!(S)->dr_aux.dr), (S)->size)
#define STMT_VINFO_RELEVANT_P(S) ((S)->relevant != vect_unused_in_scope)
#define PURE_SLP_STMT(S) ((S)->slp_type == pure_slp)