summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/VecUtils.h
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-05-10 22:59:33 +0000
committerNadav Rotem <nrotem@apple.com>2013-05-10 22:59:33 +0000
commitcdfb48d2fe40858507d7a136c6e344f1da4dea68 (patch)
tree05093e4b7ccc5382f41af898f2b5d63f0c035b7b /llvm/lib/Transforms/Vectorize/VecUtils.h
parent0686e5cb05367f3e0c1e0b914f97ad82f186148a (diff)
downloadbcm5719-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.h5
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;
OpenPOWER on IntegriCloud