SLP Vectorizer: Add support for trees with external users.
authorNadav Rotem <nrotem@apple.com>
Fri, 28 Jun 2013 22:07:09 +0000 (22:07 +0000)
committerNadav Rotem <nrotem@apple.com>
Fri, 28 Jun 2013 22:07:09 +0000 (22:07 +0000)
commitac2678684689448d1c88f644f3fa88aa4f93997c
tree8fcb1782712faf5f102e7f3840a5918e2cd1811f
parentc09324483cf8c8904b7250f072d8f64e9b00656e
SLP Vectorizer:  Add support for trees with external users.

To support this we have to insert 'extractelement' instructions to pick the right lane.
We had this functionality before but I removed it when we moved to the multi-block design because it was too complicated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185230 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/cse.ll
test/Transforms/SLPVectorizer/X86/external_user.ll [new file with mode: 0644]
test/Transforms/SLPVectorizer/X86/phi.ll