[llvm] [AMDGPU] Propagate alias information in AMDGPULowerKernelArguments. (PR #144714)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 18 23:04:57 PDT 2025
================
@@ -1166,29 +1180,20 @@ static void AddAliasScopeMetadata(CallBase &CB, ValueToValueMapTy &VMap,
NewScopes.insert(std::make_pair(A, NewScope));
if (UseNoAliasIntrinsic) {
+ assert(CB);
// Introduce a llvm.experimental.noalias.scope.decl for the noalias
// argument.
MDNode *AScopeList = MDNode::get(CalledFunc->getContext(), NewScope);
auto *NoAliasDecl =
- IRBuilder<>(&CB).CreateNoAliasScopeDeclaration(AScopeList);
+ IRBuilder<>(CB).CreateNoAliasScopeDeclaration(AScopeList);
// Ignore the result for now. The result will be used when the
// llvm.noalias intrinsic is introduced.
(void)NoAliasDecl;
}
}
- // Iterate over all new instructions in the map; for all memory-access
- // instructions, add the alias scope metadata.
- for (ValueToValueMapTy::iterator VMI = VMap.begin(), VMIE = VMap.end();
- VMI != VMIE; ++VMI) {
- if (const Instruction *I = dyn_cast<Instruction>(VMI->first)) {
- if (!VMI->second)
- continue;
-
- Instruction *NI = dyn_cast<Instruction>(VMI->second);
- if (!NI || InlinedFunctionInfo.isSimplified(I, NI))
- continue;
-
+ {
+ auto addAliasMD = [&](const Instruction *I, Instruction *NI) -> void {
----------------
arsenm wrote:
Make this a real helper function, not a lambda
https://github.com/llvm/llvm-project/pull/144714
More information about the llvm-commits
mailing list