SLPVectorizer: Add support for trees with external users.
authorNadav Rotem <nrotem@apple.com>
Fri, 10 May 2013 22:59:33 +0000 (22:59 +0000)
committerNadav Rotem <nrotem@apple.com>
Fri, 10 May 2013 22:59:33 +0000 (22:59 +0000)
commit9bba9f630005409f43bc3b0480e18fa9f8d43e69
tree1dbc0e17fa72f098ec38d772e18c135578ce149d
parent09ec4b21648700f9d4ef5bc90d732f90f32c930c
SLPVectorizer: Add support for trees with external users.

For example:
bar() {
  int a = A[i];
  int b = A[i+1];
  B[i] = a;
  B[i+1] = b;
  foo(a);  <--- a is used outside the vectorized expression.
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181648 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/VecUtils.cpp
lib/Transforms/Vectorize/VecUtils.h
test/Transforms/SLPVectorizer/X86/diamond.ll