diff options
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r-- | llvm/lib/Analysis/AliasAnalysis.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/Analysis/NoAliasAnalysis.cpp | 7 |
3 files changed, 9 insertions, 6 deletions
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp index 8aee8b1aa33..e02d6058260 100644 --- a/llvm/lib/Analysis/AliasAnalysis.cpp +++ b/llvm/lib/Analysis/AliasAnalysis.cpp @@ -316,7 +316,7 @@ AliasAnalysis::getLocationForDest(const MemIntrinsic *MTI) { // memcpy/memmove can have AA tags. For memcpy, they apply // to both the source and the destination. AAMDNodes AATags; - MTI->getMetadata(AATags); + MTI->getAAMetadata(AATags); return Location(MTI->getRawDest(), Size, AATags); } diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index 9cfd02c0218..11b33326fb7 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -904,8 +904,8 @@ BasicAliasAnalysis::aliasGEP(const GEPOperator *GEP1, uint64_t V1Size, // derived pointer. if (const GEPOperator *GEP2 = dyn_cast<GEPOperator>(V2)) { // Do the base pointers alias? - AliasResult BaseAlias = aliasCheck(UnderlyingV1, UnknownSize, nullptr, - UnderlyingV2, UnknownSize, nullptr); + AliasResult BaseAlias = aliasCheck(UnderlyingV1, UnknownSize, AAMDNodes(), + UnderlyingV2, UnknownSize, AAMDNodes()); // Check for geps of non-aliasing underlying pointers where the offsets are // identical. @@ -988,7 +988,7 @@ BasicAliasAnalysis::aliasGEP(const GEPOperator *GEP1, uint64_t V1Size, if (V1Size == UnknownSize && V2Size == UnknownSize) return MayAlias; - AliasResult R = aliasCheck(UnderlyingV1, UnknownSize, nullptr, + AliasResult R = aliasCheck(UnderlyingV1, UnknownSize, AAMDNodes(), V2, V2Size, V2AAInfo); if (R != MustAlias) // If V2 may alias GEP base pointer, conservatively returns MayAlias. diff --git a/llvm/lib/Analysis/NoAliasAnalysis.cpp b/llvm/lib/Analysis/NoAliasAnalysis.cpp index 139fa38b8a9..483a81e93a7 100644 --- a/llvm/lib/Analysis/NoAliasAnalysis.cpp +++ b/llvm/lib/Analysis/NoAliasAnalysis.cpp @@ -57,8 +57,11 @@ namespace { Location getArgLocation(ImmutableCallSite CS, unsigned ArgIdx, ModRefResult &Mask) override { Mask = ModRef; - return Location(CS.getArgument(ArgIdx), UnknownSize, - CS.getInstruction()->getMetadata(LLVMContext::MD_tbaa)); + AAMDNodes AATags( + CS.getInstruction()->getMetadata(LLVMContext::MD_tbaa), + CS.getInstruction()->getMetadata(LLVMContext::MD_alias_scope), + CS.getInstruction()->getMetadata(LLVMContext::MD_noalias)); + return Location(CS.getArgument(ArgIdx), UnknownSize, AATags); } ModRefResult getModRefInfo(ImmutableCallSite CS, |