[LV] Fix PR34743 - handle casts that sink after interleaved loads
authorAyal Zaks <ayal.zaks@intel.com>
Thu, 5 Oct 2017 15:45:14 +0000 (15:45 +0000)
committerAyal Zaks <ayal.zaks@intel.com>
Thu, 5 Oct 2017 15:45:14 +0000 (15:45 +0000)
commitc9e0f886e5c664cf819ec1507ff1cf0e3b3c3a18
tree48550e66759f12d99d0954bcc2f232410df1bfe6
parent922e5bc698e9503843edf05fb9120c3f42cdf7a0
[LV] Fix PR34743 - handle casts that sink after interleaved loads

When ignoring a load that participates in an interleaved group, make sure to
move a cast that needs to sink after it.

Testcase derived from reproducer of PR34743.

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

llvm-svn: 314986
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll