]> granicus.if.org Git - llvm/commit
Address two correctness issues in LoadStoreVectorizer
authorAlina Sbirlea <asbirlea@google.com>
Fri, 1 Jul 2016 21:44:12 +0000 (21:44 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Fri, 1 Jul 2016 21:44:12 +0000 (21:44 +0000)
commit1e53a5fcec984e0f1cefe43dba3939e4b72a533f
tree06e592e10416a17b5aa419d69b806812a64d8dec
parent364f2492a3d31efedfec3127f78b0aa6c171bc4b
Address two correctness issues in LoadStoreVectorizer

Summary:
GetBoundryInstruction returns the last instruction as the instruction which follows or end(). Otherwise the last instruction in the boundry set is not being tested by isVectorizable().
Partially solve reordering of instructions. More extensive solution to follow.

Reviewers: tstellarAMD, llvm-commits, jlebar

Subscribers: escha, arsenm, mzolotukhin

Differential Revision: http://reviews.llvm.org/D21934

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274389 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
test/Transforms/LoadStoreVectorizer/X86/lit.local.cfg [new file with mode: 0644]
test/Transforms/LoadStoreVectorizer/X86/preserve-order32.ll [new file with mode: 0644]
test/Transforms/LoadStoreVectorizer/X86/preserve-order64.ll [new file with mode: 0644]