summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2015-08-20 22:28:15 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2015-08-20 22:28:15 +0000
commit51b00e6d82405499c7e39e4af616141a744997b3 (patch)
tree2a0a90c7a34ebe8743b43241aa95ded933d337a7 /llvm/lib/Transforms
parent2a3d99fedfa9ed911ed35753cfe490b885340877 (diff)
downloadbcm5719-llvm-51b00e6d82405499c7e39e4af616141a744997b3.tar.gz
bcm5719-llvm-51b00e6d82405499c7e39e4af616141a744997b3.zip
[SLP] Propagate 'nontemporal' attribute into vectorized instructions.
llvm-svn: 245633
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index df15a70753c..becd51a5727 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -242,6 +242,9 @@ static Instruction *propagateMetadata(Instruction *I, ArrayRef<Value *> VL) {
case LLVMContext::MD_fpmath:
MD = MDNode::getMostGenericFPMath(MD, IMD);
break;
+ case LLVMContext::MD_nontemporal:
+ MD = MDNode::intersect(MD, IMD);
+ break;
}
}
I->setMetadata(Kind, MD);
OpenPOWER on IntegriCloud