From c869b4397aa7c45bfcd71951a1f15e6e7228be79 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Mon, 15 Aug 2011 21:56:39 +0000 Subject: [PATCH] Add some comments here because the lack of a check for volatile/atomic here is a bit unusual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137662 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/Loads.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Analysis/Loads.cpp b/lib/Analysis/Loads.cpp index 18f3a3465b5..0e6bcbfae4f 100644 --- a/lib/Analysis/Loads.cpp +++ b/lib/Analysis/Loads.cpp @@ -188,12 +188,16 @@ Value *llvm::FindAvailableLoadedValue(Value *Ptr, BasicBlock *ScanBB, --ScanFrom; // If this is a load of Ptr, the loaded value is available. + // (This is true even if the load is volatile or atomic, although + // those cases are unlikely.) if (LoadInst *LI = dyn_cast(Inst)) if (AreEquivalentAddressValues(LI->getOperand(0), Ptr)) return LI; if (StoreInst *SI = dyn_cast(Inst)) { // If this is a store through Ptr, the value is available! + // (This is true even if the store is volatile or atomic, although + // those cases are unlikely.) if (AreEquivalentAddressValues(SI->getOperand(1), Ptr)) return SI->getOperand(0); -- 2.34.1