aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
index 20d718f4fad3..23dbb32f38de 100644
--- a/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
@@ -521,21 +521,21 @@ static const MDNode *getLeastCommonType(const MDNode *A, const MDNode *B) {
return Ret;
}
-void Instruction::getAAMetadata(AAMDNodes &N, bool Merge) const {
- if (Merge) {
- N.TBAA =
- MDNode::getMostGenericTBAA(N.TBAA, getMetadata(LLVMContext::MD_tbaa));
- N.TBAAStruct = nullptr;
- N.Scope = MDNode::getMostGenericAliasScope(
- N.Scope, getMetadata(LLVMContext::MD_alias_scope));
- N.NoAlias =
- MDNode::intersect(N.NoAlias, getMetadata(LLVMContext::MD_noalias));
- } else {
- N.TBAA = getMetadata(LLVMContext::MD_tbaa);
- N.TBAAStruct = getMetadata(LLVMContext::MD_tbaa_struct);
- N.Scope = getMetadata(LLVMContext::MD_alias_scope);
- N.NoAlias = getMetadata(LLVMContext::MD_noalias);
- }
+AAMDNodes AAMDNodes::merge(const AAMDNodes &Other) const {
+ AAMDNodes Result;
+ Result.TBAA = MDNode::getMostGenericTBAA(TBAA, Other.TBAA);
+ Result.TBAAStruct = nullptr;
+ Result.Scope = MDNode::getMostGenericAliasScope(Scope, Other.Scope);
+ Result.NoAlias = MDNode::intersect(NoAlias, Other.NoAlias);
+ return Result;
+}
+
+AAMDNodes AAMDNodes::concat(const AAMDNodes &Other) const {
+ AAMDNodes Result;
+ Result.TBAA = Result.TBAAStruct = nullptr;
+ Result.Scope = MDNode::getMostGenericAliasScope(Scope, Other.Scope);
+ Result.NoAlias = MDNode::intersect(NoAlias, Other.NoAlias);
+ return Result;
}
static const MDNode *createAccessTag(const MDNode *AccessType) {