diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58d0ace616e618cf25cd403ee0d32297534bf03e..10bf38dff67f2d02858cca58155fa6cb6a0c69d1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-06-02 Nathan Froyd <froydnj@codesourcery.com> + + * tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call + instead of gimple_build_call_vec. Delete unnecessary local variable. + 2010-06-02 Steven Bosscher <steven@gcc.gnu.org> * gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling" diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 6870fca0c45448ab1ca5e90b6750d5d9bf21d67d..9dd284dbd3cfa6ccf9256a62690014d180e48bd2 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -1924,7 +1924,6 @@ vect_create_mask_and_perm (gimple stmt, gimple next_scalar_stmt, stmt_vec_info next_stmt_info; int i, stride; tree first_vec, second_vec, data_ref; - VEC (tree, heap) *params = NULL; stride = SLP_TREE_NUMBER_OF_VEC_STMTS (node) / ncopies; @@ -1940,15 +1939,9 @@ vect_create_mask_and_perm (gimple stmt, gimple next_scalar_stmt, first_vec = VEC_index (tree, dr_chain, first_vec_indx); second_vec = VEC_index (tree, dr_chain, second_vec_indx); - /* Build argument list for the vectorized call. */ - VEC_free (tree, heap, params); - params = VEC_alloc (tree, heap, 3); - VEC_quick_push (tree, params, first_vec); - VEC_quick_push (tree, params, second_vec); - VEC_quick_push (tree, params, mask); - /* Generate the permute statement. */ - perm_stmt = gimple_build_call_vec (builtin_decl, params); + perm_stmt = gimple_build_call (builtin_decl, + 3, first_vec, second_vec, mask); data_ref = make_ssa_name (perm_dest, perm_stmt); gimple_call_set_lhs (perm_stmt, data_ref); vect_finish_stmt_generation (stmt, perm_stmt, gsi);