[llvm] [AMDGPU] Propagate alias information in AMDGPULowerKernelArguments. (PR #144714)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 18 08:54:05 PDT 2025
================
@@ -1353,10 +1358,49 @@ static void AddAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap,
LLVMContext::MD_alias_scope,
MDNode::concatenate(NI->getMetadata(LLVMContext::MD_alias_scope),
MDNode::get(CalledFunc->getContext(), Scopes)));
+ };
+
+ if (VMap) {
+ assert(InlinedFunctionInfo);
+
+ for (ValueToValueMapTy::iterator VMI = VMap->begin(), VMIE = VMap->end();
+ VMI != VMIE; ++VMI) {
+ const Instruction *I = dyn_cast<Instruction>(VMI->first);
+ if (!I || !VMI->second)
+ continue;
+
+ Instruction *NI = dyn_cast<Instruction>(VMI->second);
+ if (!NI || InlinedFunctionInfo->isSimplified(I, NI))
+ continue;
+
+ addAliasMD(I, NI);
+ }
+
+ } else {
+ for (auto It = inst_begin(F), End = inst_end(F); It != End; ++It) {
+ Instruction *I = &(*It);
+ addAliasMD(I, I);
+ }
}
}
}
+void llvm::addAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap,
+ const DataLayout &DL, AAResults *CalleeAAR,
+ ClonedCodeInfo &InlinedFunctionInfo,
+ bool UseNoAliasIntrinsic) {
+ addAliasScopeMetadataImpl(&CB, /* F */ nullptr, &VMap, DL, CalleeAAR,
+ &InlinedFunctionInfo, UseNoAliasIntrinsic);
+}
+
+void llvm::addAliasScopeMetadata(Function &F) {
+ addAliasScopeMetadataImpl(/* CB */ nullptr, &F, /* VMap */ nullptr,
+ F.getParent()->getDataLayout(),
+ /* CalleeAAR */ nullptr,
+ /* InlinedFunctionInfo */ nullptr,
+ /* UseNoAliasIntrinsic */ false);
----------------
shiltian wrote:
Use the new style such as `/*CB=*/` pls.
https://github.com/llvm/llvm-project/pull/144714
More information about the llvm-commits
mailing list