LoopVectorizer: Keep track of conditional store basic blocks
authorArnold Schwaighofer <aschwaighofer@apple.com>
Sat, 8 Feb 2014 20:41:13 +0000 (20:41 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Sat, 8 Feb 2014 20:41:13 +0000 (20:41 +0000)
commit846acbeef17fd6df7f389c034ada5c490d006d76
tree41f869d9a5d579d62cb60a14b7afc6af3f754a2c
parente09411dd68534824b0a79749da44589983061d07
LoopVectorizer: Keep track of conditional store basic blocks

Before conditional store vectorization/unrolling we had only one
vectorized/unrolled basic block. After adding support for conditional store
vectorization this will not only be one block but multiple basic blocks. The
last block would have the back-edge. I updated the code to use a vector of basic
blocks instead of a single basic block and fixed the users to use the last entry
in this vector. But, I forgot to add the basic blocks to this vector!

Fixes PR18724.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201028 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/if-pred-stores.ll