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

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Tue May 6 10:59:34 PDT 2025


================
@@ -1401,18 +1405,19 @@ static bool runImpl(Module &M, AnalysisGetter &AG, TargetMachine &TM,
     }
 
     for (auto &I : instructions(F)) {
+      Value *Ptr = nullptr;
       if (auto *LI = dyn_cast<LoadInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*LI->getPointerOperand()));
+        Ptr = LI->getPointerOperand();
       } else if (auto *SI = dyn_cast<StoreInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*SI->getPointerOperand()));
+        Ptr = SI->getPointerOperand();
       } else if (auto *RMW = dyn_cast<AtomicRMWInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*RMW->getPointerOperand()));
+        Ptr = RMW->getPointerOperand();
       } else if (auto *CmpX = dyn_cast<AtomicCmpXchgInst>(&I)) {
-        A.getOrCreateAAFor<AAAddressSpace>(
-            IRPosition::value(*CmpX->getPointerOperand()));
+        Ptr = CmpX->getPointerOperand();
+      }
----------------
shiltian wrote:

in this case you don't need to use `{}`

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


More information about the llvm-commits mailing list