diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2018-07-31 14:21:37 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-07-31 14:21:37 +0000 |
commit | 4fbeb36361aab0c197c01f6268e442446f2c1fa8 (patch) | |
tree | 9fcd870099d9579c265eb76a06868f24305a38cf /gcc/tree-vectorizer.h | |
parent | 79cc8302f73a56dd1e84e87a26d35ed7e5bfea53 (diff) | |
download | gcc-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.h | 8 |
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 { |