]> granicus.if.org Git - llvm/commit
Reapply r298620: [LV] Vectorize GEPs
authorMatthew Simpson <mssimpso@codeaurora.org>
Fri, 7 Apr 2017 14:15:34 +0000 (14:15 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Fri, 7 Apr 2017 14:15:34 +0000 (14:15 +0000)
commitccc38cc5e76c8bda56a7b61eab1dd9e1db7a6963
treebdbf9197e625b389b513203b310f6471dfebbd9a
parent6abe02259e12d7b57bea5095b5181d8ee4368352
Reapply r298620: [LV] Vectorize GEPs

This patch reapplies r298620. The original patch was reverted because of two
issues. First, the patch exposed a bug in InstCombine that caused the Chromium
builds to fail (PR32414). This issue was fixed in r299017. Second, the patch
introduced a bug in the vectorizer's scalars analysis that caused test suite
builds to fail on SystemZ. The scalars analysis was too aggressive and marked a
memory instruction scalar, even though it was going to be vectorized. This
issue has been fixed in the current patch and several new test cases for the
scalars analysis have been added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299770 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
test/Transforms/LoopVectorize/X86/scatter_crash.ll
test/Transforms/LoopVectorize/loop-scalars.ll [new file with mode: 0644]
test/Transforms/LoopVectorize/vector-geps.ll [new file with mode: 0644]