diff options
author | Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi> | 2013-02-13 18:08:57 +0000 |
---|---|---|
committer | Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi> | 2013-02-13 18:08:57 +0000 |
commit | 0d23725a8d602a007cda3fe9529e444543789446 (patch) | |
tree | 81bd0cb697682690e69bc7e4f3acaaa9d7b148e2 /llvm/lib/Transforms | |
parent | c5ba5ef3c57afabff927d516d83e1d908b224c6e (diff) | |
download | bcm5719-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.cpp | 8 |
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*. |