summaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-09 12:39:22 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-09 12:39:22 +0000
commit40bcc7c25b8a19c6670b240efc114b4dae072c82 (patch)
tree2c8bd0affb55d76dfbc3479c59b2a8b47dc84ce1 /gcc/tree-vectorizer.h
parentc8498e042d089e7dd4b2d2409c996f02a46ae9cb (diff)
downloadgcc-40bcc7c25b8a19c6670b240efc114b4dae072c82.tar.gz
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (slp_void_p): Remove. (slp_tree): Typedef before _slp_tree declaration. (struct _slp_tree): Use a vector of slp_tree as children. (vect_get_place_in_interleaving_chain): Remove. * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain): Move ... * tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here and make static. (vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts, vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts, vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations, vect_schedule_slp_instance, vect_remove_slp_scalar_calls): Use slp_node instead of slp_void_p and adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197629 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 6c08979e8a6..1a233a01fa2 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -97,13 +97,13 @@ add_stmt_info_to_vec (stmt_vector_for_cost *stmt_cost_vec, int count,
/************************************************************************
SLP
************************************************************************/
-typedef void *slp_void_p;
+typedef struct _slp_tree *slp_tree;
/* A computation tree of an SLP instance. Each node corresponds to a group of
stmts to be packed in a SIMD stmt. */
-typedef struct _slp_tree {
+struct _slp_tree {
/* Nodes that contain def-stmts of this node statements operands. */
- vec<slp_void_p> children;
+ vec<slp_tree> children;
/* A group of scalar stmts to be vectorized together. */
vec<gimple> stmts;
/* Vectorized stmt/s. */
@@ -113,7 +113,7 @@ typedef struct _slp_tree {
scalar elements in one scalar iteration (GROUP_SIZE) multiplied by VF
divided by vector size. */
unsigned int vec_stmts_size;
-} *slp_tree;
+};
/* SLP instance is a sequence of stmts in a loop that can be packed into
@@ -941,7 +941,6 @@ extern tree vect_setup_realignment (gimple, gimple_stmt_iterator *, tree *,
extern void vect_transform_grouped_load (gimple, vec<tree> , int,
gimple_stmt_iterator *);
extern void vect_record_grouped_load_vectors (gimple, vec<tree> );
-extern int vect_get_place_in_interleaving_chain (gimple, gimple);
extern tree vect_get_new_vect_var (tree, enum vect_var_kind, const char *);
extern tree vect_create_addr_base_for_vector_ref (gimple, gimple_seq *,
tree, struct loop *);