aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-slp.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-10-21 06:41:01 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-10-21 06:41:01 +0000
commitcdbe6e9bb4ae2882f77f94993783085fa342a9f9 (patch)
treec2403bdfb60edc048b5c3c8d455d402bfe3e3ac9 /gcc/tree-vect-slp.c
parent7ed54790da87bbb4a134020a9fb8bd1b72fd0acb (diff)
downloadgcc-cdbe6e9bb4ae2882f77f94993783085fa342a9f9.zip
gcc-cdbe6e9bb4ae2882f77f94993783085fa342a9f9.tar.gz
gcc-cdbe6e9bb4ae2882f77f94993783085fa342a9f9.tar.bz2
Pass a vec_info to duplicate_and_interleave
2019-10-21 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (duplicate_and_interleave): Take a vec_info. * tree-vect-slp.c (duplicate_and_interleave): Likewise. (vect_get_constant_vectors): Update call accordingly. * tree-vect-loop.c (get_initial_defs_for_reduction): Likewise. From-SVN: r277228
Diffstat (limited to 'gcc/tree-vect-slp.c')
-rw-r--r--gcc/tree-vect-slp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 886bbce..cf1ff5a 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -3183,8 +3183,9 @@ vect_mask_constant_operand_p (stmt_vec_info stmt_vinfo)
to cut down on the number of interleaves. */
void
-duplicate_and_interleave (gimple_seq *seq, tree vector_type, vec<tree> elts,
- unsigned int nresults, vec<tree> &results)
+duplicate_and_interleave (vec_info *, gimple_seq *seq, tree vector_type,
+ vec<tree> elts, unsigned int nresults,
+ vec<tree> &results)
{
unsigned int nelts = elts.length ();
tree element_type = TREE_TYPE (vector_type);
@@ -3473,8 +3474,8 @@ vect_get_constant_vectors (tree op, slp_tree slp_node,
else
{
if (vec_oprnds->is_empty ())
- duplicate_and_interleave (&ctor_seq, vector_type, elts,
- number_of_vectors,
+ duplicate_and_interleave (vinfo, &ctor_seq, vector_type,
+ elts, number_of_vectors,
permute_results);
vec_cst = permute_results[number_of_vectors - j - 1];
}