gcc/
commit5ee742c436320e28bd6d977f0f734d65830bca46
authorienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Jul 2015 09:08:31 +0000 (17 09:08 +0000)
committerienkovich <ienkovich@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Jul 2015 09:08:31 +0000 (17 09:08 +0000)
treeb6e8894ec7114571f4f2b95603cc0465c3c8ef79
parentaa3270388d929a788c1b58ca9e0bbe8e8ec3ec67
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225923 138bc75d-0d04-0410-961f-82ee72b054a4
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