[PATCH] D104007: [BasicAA] Properly mark that coroutine suspension may modify parameters

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 10 14:12:13 PDT 2021


nikic added inline comments.


================
Comment at: llvm/lib/Analysis/BasicAliasAnalysis.cpp:831
+  if (Call->getIntrinsicID() == Intrinsic::coro_suspend &&
+      isa<Argument>(Object))
+    return ModRefInfo::ModRef;
----------------
Underlying object determination is best-effort. `Object` may still be based on an argument without getUnderlyingObject() detecting it.

I think to be correct you'd have to check something like `!isIdentifiedObject(Object) || isa<Argument>(Object)`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104007



More information about the llvm-commits mailing list