tree-vect-loop-manip.c (rename_variables_in_bb): Add argument to allow renaming of...
authorYuri Rumyantsev <ysrumyan@gmail.com>
Fri, 17 Jul 2015 09:08:31 +0000 (09:08 +0000)
committerIlya Enkovich <ienkovich@gcc.gnu.org>
Fri, 17 Jul 2015 09:08:31 +0000 (09:08 +0000)
commita6c51a129328343ba445f1cc663f455c173cdc97
treeb6e8894ec7114571f4f2b95603cc0465c3c8ef79
parent54b710be6484a9decdeac33125e41f384489ed3c
tree-vect-loop-manip.c (rename_variables_in_bb): Add argument to allow renaming of PHI arguments on edges incoming from outer...

gcc/

* tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
to allow renaming of PHI arguments on edges incoming from outer
loop header, add corresponding check before start PHI iterator.
(slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
with true force_vectorize.  Set-up dominator for outer loop too.
Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
(slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
was marked with force_vectorize and has restricted cfg.
(slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
inner loop.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
do peeling for outer loops.

gcc/testsuite/

* gcc.dg/vect/vect-outer-simd-2.c: New test.

From-SVN: r225923
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-outer-simd-2.c [new file with mode: 0644]
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c