[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