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
This commit is contained in:
Pekka Jaaskelainen
2013-02-13 18:08:57 +00:00
parent 96848dfc46
commit 5d0ce79e26
4 changed files with 183 additions and 0 deletions
@@ -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*.