tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end members.
authorRichard Biener <rguenther@suse.de>
Fri, 6 Nov 2015 11:15:40 +0000 (11:15 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 6 Nov 2015 11:15:40 +0000 (11:15 +0000)
commit61d371eb413e6917f59bea804b3c167e31f88f98
tree74dcc1ae8899af0f2b008c2052a07e430f301776
parent66a5f0b45ff2dc172035f896903d846a6f86e8d0
tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end members.

2015-11-06  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
members.
(vect_stmt_in_region_p): Declare.
* tree-vect-slp.c (new_bb_vec_info): Work on a region.
(destroy_bb_vec_info): Likewise.
(vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
(vect_get_and_check_slp_defs): Likewise.
(vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
(vect_slp_bb): Likewise.
* tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
in terms of vect_stmt_in_region_p.
(vect_pattern_recog): Iterate over the BB region.
* tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
* tree-vectorizer.c (vect_stmt_in_region_p): New function.
(pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.

* config/i386/i386.c: Include gimple-iterator.h.
* config/aarch64/aarch64.c: Likewise.

* gcc.dg/vect/bb-slp-38.c: New testcase.

From-SVN: r229842
gcc/ChangeLog
gcc/config/aarch64/aarch64.c
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/bb-slp-38.c [new file with mode: 0644]
gcc/tree-vect-patterns.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h