[llvm] Attributor: Infer noalias.addrspace metadata for memory instructions (PR #136553)

via llvm-commits llvm-commits at lists.llvm.org
Sat May 3 07:31:56 PDT 2025


================
@@ -1388,17 +1387,29 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM,
 
     for (auto &I : instructions(F)) {
       if (auto *LI = dyn_cast<LoadInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*LI->getPointerOperand()));
+        Value &Ptr = *(LI->getPointerOperand());
+        A.getOrCreateAAFor<AAAddressSpace>(IRPosition::value(Ptr));
+        const_cast<AANoAliasAddrSpace *>(
+            A.getOrCreateAAFor<AANoAliasAddrSpace>(IRPosition::value(Ptr)))
+            ->setMaxAddrSpace(AMDGPUAS::MAX_AMDGPU_ADDRESS);
       } else if (auto *SI = dyn_cast<StoreInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*SI->getPointerOperand()));
+        Value &Ptr = *(SI->getPointerOperand());
+        A.getOrCreateAAFor<AAAddressSpace>(IRPosition::value(Ptr));
+        const_cast<AANoAliasAddrSpace *>(
+            A.getOrCreateAAFor<AANoAliasAddrSpace>(IRPosition::value(Ptr)))
+            ->setMaxAddrSpace(AMDGPUAS::MAX_AMDGPU_ADDRESS);
----------------
Shoreshen wrote:

Hi @arsenm , I added a virtual function in informationcache ..

https://github.com/llvm/llvm-project/pull/136553


More information about the llvm-commits mailing list