diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-05-10 22:59:33 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-05-10 22:59:33 +0000 |
commit | cdfb48d2fe40858507d7a136c6e344f1da4dea68 (patch) | |
tree | 05093e4b7ccc5382f41af898f2b5d63f0c035b7b /llvm/lib/Transforms/Vectorize/VecUtils.h | |
parent | 0686e5cb05367f3e0c1e0b914f97ad82f186148a (diff) | |
download | bcm5719-llvm-cdfb48d2fe40858507d7a136c6e344f1da4dea68.tar.gz bcm5719-llvm-cdfb48d2fe40858507d7a136c6e344f1da4dea68.zip |
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.
}
llvm-svn: 181648
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/VecUtils.h')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/VecUtils.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/VecUtils.h b/llvm/lib/Transforms/Vectorize/VecUtils.h index 5456c6c7795..abb35840e93 100644 --- a/llvm/lib/Transforms/Vectorize/VecUtils.h +++ b/llvm/lib/Transforms/Vectorize/VecUtils.h @@ -127,6 +127,11 @@ private: /// NOTICE: The vectorization methods also use this set. ValueSet MustScalarize; + /// Contains values that have users outside of the vectorized graph. + /// We need to generate extract instructions for these values. + /// NOTICE: The vectorization methods also use this set. + ValueSet MustExtract; + /// Contains a list of values that are used outside the current tree. This /// set must be reset between runs. ValueSet MultiUserVals; |