[LV] Ensure proper handling of multi-use case when collecting uniforms
authorMatthew Simpson <mssimpso@codeaurora.org>
Thu, 8 Sep 2016 21:38:26 +0000 (21:38 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Thu, 8 Sep 2016 21:38:26 +0000 (21:38 +0000)
commitbfe5e1817bd4badbdd1d3c9937db401db9d2d5c6
treed16c0e94a12d1e7f23662d51e33c6bb44b401bd3
parented9fda01a3d4aa5136b95323403a3a8e4b69d0fa
[LV] Ensure proper handling of multi-use case when collecting uniforms

The test case included in r280979 wasn't checking what it was supposed to be
checking for the predicated store case. Fixing the test revealed that the
multi-use case (when a pointer is used by both vectorized and scalarized memory
accesses) wasn't being handled properly. We can't skip over
non-consecutive-like pointers since they may have looked consecutive-like with
a different memory access.

llvm-svn: 280992
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll