[SLP] Propagate 'nontemporal' attribute into vectorized instructions.
[oota-llvm.git] / lib / Transforms / Vectorize / SLPVectorizer.cpp
index df15a70753c311551ba45391540c81a4dfb87b11..becd51a5727504d9a107dde9ec1ade7bc86610f8 100644 (file)
@@ -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);