[PATCH] D127383: Don't treat readnone call in presplit coroutine as not access memory

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 15 08:22:24 PDT 2022


nikic added inline comments.


================
Comment at: llvm/lib/Analysis/BasicAliasAnalysis.cpp:779
+        !Call->hasFnAttr(Attribute::InaccessibleMemOnly) &&
+        !Call->hasFnAttr(Attribute::InaccessibleMemOrArgMemOnly))))
     if (const Function *F = Call->getCalledFunction())
----------------
Do we lose anything substantial with just the `Call->getFunction()->isPresplitCoroutine()` condition?

Alternatively, I would implement this as a fixup afterwards that looks something like this:

```
if (Call->getFunction()->isPreSplitCoroutine())
  Min = FunctionModRefBehavior(Min | FMRB_OnlyReadsMemory);
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127383/new/

https://reviews.llvm.org/D127383



More information about the llvm-commits mailing list