diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index bf83f52ccf2..05144265487 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -154,24 +154,16 @@ static ModRefInfo GetLocation(const Instruction *Inst, MemoryLocation &Loc, } if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(Inst)) { - AAMDNodes AAInfo; - switch (II->getIntrinsicID()) { case Intrinsic::lifetime_start: case Intrinsic::lifetime_end: case Intrinsic::invariant_start: - II->getAAMetadata(AAInfo); - Loc = MemoryLocation( - II->getArgOperand(1), - cast<ConstantInt>(II->getArgOperand(0))->getZExtValue(), AAInfo); + Loc = MemoryLocation::getForArgument(II, 1, TLI); // These intrinsics don't really modify the memory, but returning Mod // will allow them to be handled conservatively. return ModRefInfo::Mod; case Intrinsic::invariant_end: - II->getAAMetadata(AAInfo); - Loc = MemoryLocation( - II->getArgOperand(2), - cast<ConstantInt>(II->getArgOperand(1))->getZExtValue(), AAInfo); + Loc = MemoryLocation::getForArgument(II, 2, TLI); // These intrinsics don't really modify the memory, but returning Mod // will allow them to be handled conservatively. return ModRefInfo::Mod; |