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 | 5d0ce79e26f40141f35cc0002dc5cc6060382359 (patch) | |
tree | e62a745a5f90a404df64e46d0ba6b9ee3f9edf58 /lib/Transforms/Vectorize/LoopVectorize.cpp | |
parent | 96848dfc465c8c7f156a562c246803ebefcf21cf (diff) |
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.
See the documentation update for more info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Vectorize/LoopVectorize.cpp')
-rw-r--r-- | lib/Transforms/Vectorize/LoopVectorize.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 9fb451b0a9..842ae0291e 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/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*. |