@llvm.lifetime.begin acts as a load, not @llvm.lifetime.end.
[oota-llvm.git] / lib / Analysis / MemoryDependenceAnalysis.cpp
index ce7fab6459ed8a1247cb6030e0a3c8e2e63a9368..3f3175b3bab3996f0ef7d24b27cc30996a18c68d 100644 (file)
@@ -497,7 +497,7 @@ MemDepResult MemoryDependenceAnalysis::getDependency(Instruction *QueryInst) {
       // If we can do a pointer scan, make it happen.
       bool isLoad = !(MR & AliasAnalysis::Mod);
       if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(QueryInst))
-        isLoad |= II->getIntrinsicID() == Intrinsic::lifetime_end;
+        isLoad |= II->getIntrinsicID() == Intrinsic::lifetime_start;
 
       LocalCache = getPointerDependencyFrom(MemLoc, isLoad, ScanPos,
                                             QueryParent);