[vectorizer] Clean up the handling of unvectorized loop unrolling in the
authorChandler Carruth <chandlerc@gmail.com>
Mon, 27 Jan 2014 08:17:58 +0000 (08:17 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 27 Jan 2014 08:17:58 +0000 (08:17 +0000)
commit0afd0bc5facb63a96c706dc8a2468327ee3161da
treeef09547c51a9ed0e8df1c83bc96770af02518018
parent7018cd5af77e88924bc0658c49a27637019a1927
[vectorizer] Clean up the handling of unvectorized loop unrolling in the
LoopVectorize pass.

The logic here doesn't make much sense. We *only* unrolled if the
unvectorized loop was a reduction loop with a single basic block *and*
small loop body. The reduction part in particular doesn't make much
sense. Instead, if we just fall through to the vectorized unroll logic
it makes more sense of unrolling if there is a vectorized reduction that
could be hacked on by the SLP vectorizer *or* if the loop is small.

This is mostly a cleanup and nothing in the test suite really exercises
this, but I did run benchmarks across this change and saw no really
significant changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200198 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp