aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2018-07-31 14:21:37 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-07-31 14:21:37 +0000
commit4fbeb36361aab0c197c01f6268e442446f2c1fa8 (patch)
tree9fcd870099d9579c265eb76a06868f24305a38cf /gcc/tree-vectorizer.h
parent79cc8302f73a56dd1e84e87a26d35ed7e5bfea53 (diff)
downloadgcc-4fbeb36361aab0c197c01f6268e442446f2c1fa8.zip
gcc-4fbeb36361aab0c197c01f6268e442446f2c1fa8.tar.gz
gcc-4fbeb36361aab0c197c01f6268e442446f2c1fa8.tar.bz2
[06/46] Add vec_info::add_stmt
This patch adds a vec_info function for allocating and setting stmt_vec_infos. It's the start of a long process of removing the global stmt_vec_info array. 2018-07-31 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (stmt_vec_info): Move typedef earlier in file. (vec_info::add_stmt): Declare. * tree-vectorizer.c (vec_info::add_stmt): New function. * tree-vect-data-refs.c (vect_create_data_ref_ptr): Use it. * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Likewise. (vect_create_epilog_for_reduction, vectorizable_reduction): Likewise. (vectorizable_induction): Likewise. * tree-vect-slp.c (_bb_vec_info::_bb_vec_info): Likewise. * tree-vect-stmts.c (vect_finish_stmt_generation_1): Likewise. (vectorizable_simd_clone_call, vectorizable_store): Likewise. (vectorizable_load): Likewise. * tree-vect-patterns.c (vect_init_pattern_stmt): Likewise. (vect_recog_bool_pattern, vect_recog_mask_conversion_pattern) (vect_recog_gather_scatter_pattern): Likewise. (append_pattern_def_seq): Likewise. Remove a check that is performed by add_stmt itself. From-SVN: r263121
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index f4839ef..6749417 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -25,6 +25,8 @@ along with GCC; see the file COPYING3. If not see
#include "tree-hash-traits.h"
#include "target.h"
+typedef struct _stmt_vec_info *stmt_vec_info;
+
/* Used for naming of new temporaries. */
enum vect_var_kind {
vect_simple_var,
@@ -215,6 +217,8 @@ struct vec_info {
vec_info (vec_kind, void *, vec_info_shared *);
~vec_info ();
+ stmt_vec_info add_stmt (gimple *);
+
/* The type of vectorization. */
vec_kind kind;
@@ -761,7 +765,7 @@ struct dataref_aux {
typedef struct data_reference *dr_p;
-typedef struct _stmt_vec_info {
+struct _stmt_vec_info {
enum stmt_vec_info_type type;
@@ -914,7 +918,7 @@ typedef struct _stmt_vec_info {
and OPERATION_BITS without changing the result. */
unsigned int operation_precision;
signop operation_sign;
-} *stmt_vec_info;
+};
/* Information about a gather/scatter call. */
struct gather_scatter_info {