llvm/lib/Transforms/Vectorize
Justin Lebar 85ee7e9487 [LSV] Insert stores at the right point.
Summary:
Previously, the insertion point for stores was the last instruction in
Chain *before calling getVectorizablePrefixEndIdx*.  Thus if
getVectorizablePrefixEndIdx didn't return Chain.size(), we still would
insert at the last instruction in Chain.

This patch changes our internal API a bit in an attempt to make it less
prone to this sort of error.  As a result, we end up recalculating the
Chain's boundary instructions, but I think worrying about the speed hit
of this is a premature optimization right now.

Reviewers: asbirlea, tstellarAMD

Subscribers: mzolotukhin, arsenm, llvm-commits

Differential Revision: https://reviews.llvm.org/D22534

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276056 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-19 23:19:20 +00:00
..
BBVectorize.cpp
CMakeLists.txt
LLVMBuild.txt
LoadStoreVectorizer.cpp [LSV] Insert stores at the right point. 2016-07-19 23:19:20 +00:00
LoopVectorize.cpp Recommit the patch "Use uniforms set to populate VecValuesToIgnore". 2016-07-19 00:50:43 +00:00
SLPVectorizer.cpp Give helper classes/functions internal linkage. NFC. 2016-07-10 11:28:51 +00:00
Vectorize.cpp