]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-vect-patterns.c
tree-vectorizer.h (vect_pattern_recog): Add new argument.
authorIra Rosen <irar@il.ibm.com>
Thu, 15 Mar 2012 16:36:48 +0000 (16:36 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Thu, 15 Mar 2012 16:36:48 +0000 (16:36 +0000)
commitf57091836580804c6db4de0df9a7d078ff578d4b
tree2a28d3a8b37d54e3f51817138fc3f5a2fee20af8
parent37b659dd29908f5b5320f15fbe89f5c560d62464
tree-vectorizer.h (vect_pattern_recog): Add new argument.

ChangeLog:

* tree-vectorizer.h (vect_pattern_recog): Add new argument.
* tree-vect-loop.c (vect_analyze_loop_2): Update call to
vect_pattern_recog.
* tree-vect-patterns.c (widened_name_p): Pass basic block
info to vect_is_simple_use.
(vect_recog_dot_prod_pattern): Fail for basic blocks.
(vect_recog_widen_sum_pattern): Likewise.
(vect_handle_widen_op_by_const): Support basic blocks.
(vect_operation_fits_smaller_type,
vect_recog_over_widening_pattern): Likewise.
(vect_recog_vector_vector_shift_pattern): Support basic blocks.
Update call to vect_is_simple_use.
(vect_recog_mixed_size_cond_pattern): Support basic blocks.
Add printing.
(check_bool_pattern): Add an argument, update call to
vect_is_simple_use and the recursive calls.
(vect_recog_bool_pattern): Update relevant function calls.
Add printing.
(vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
(vect_pattern_recog_1): Check for reduction only in loops.
(vect_pattern_recog): Add new argument.  Support basic blocks.
* tree-vect-stmts.c (vectorizable_conversion): Pass basic block
info to vect_is_simple_use_1.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic
blocks.
(vect_slp_analyze_bb_1): Call vect_pattern_recog.

testsuite/ChangeLog:

* gcc.dg/vect/bb-slp-pattern-1.c: New test.
* gcc.dg/vect/bb-slp-pattern-2.c: New test.

Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>
From-SVN: r185436
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/bb-slp-pattern-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/bb-slp-pattern-2.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-patterns.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h