summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorPekka Jaaskelainen <pekka.jaaskelainen@tut.fi>2013-02-13 18:08:57 +0000
committerPekka Jaaskelainen <pekka.jaaskelainen@tut.fi>2013-02-13 18:08:57 +0000
commit0d23725a8d602a007cda3fe9529e444543789446 (patch)
tree81bd0cb697682690e69bc7e4f3acaaa9d7b148e2 /llvm/lib/Transforms
parentc5ba5ef3c57afabff927d516d83e1d908b224c6e (diff)
downloadbcm5719-llvm-0d23725a8d602a007cda3fe9529e444543789446.tar.gz
bcm5719-llvm-0d23725a8d602a007cda3fe9529e444543789446.zip
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer. See the documentation update for more info. llvm-svn: 175060
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorize.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 9fb451b0a99..842ae0291e2 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -2276,6 +2276,14 @@ void LoopVectorizationLegality::collectLoopUniforms() {
}
bool LoopVectorizationLegality::canVectorizeMemory() {
+
+ if (TheLoop->isAnnotatedParallel()) {
+ DEBUG(dbgs()
+ << "LV: A loop annotated parallel, ignore memory dependency "
+ << "checks.\n");
+ return true;
+ }
+
typedef SmallVector<Value*, 16> ValueVector;
typedef SmallPtrSet<Value*, 16> ValueSet;
// Holds the Load and Store *instructions*.
OpenPOWER on IntegriCloud