[PATCH] D97924: [LangRef] clarify the semantics of nocapture

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 15 20:17:38 PDT 2021


jdoerfert added inline comments.


================
Comment at: llvm/docs/LangRef.rst:2684
+and the stored bits can be read from the place by the caller after this call
+exits.
+
----------------
It is not the caller that needs to be able to read the bits, but any thread. This is a difference.

Also, I'm still not happy about "storing". We should at least clarify that there doesn't need to be a store instruction of any kind. The important point is that no bit is communicated from inside the function to the outside or another thread.


================
Comment at: llvm/docs/LangRef.rst:2707
+
+      ret i8* %e ; %e is captured
+    }
----------------
This is arguably a capture but not a store.


================
Comment at: llvm/docs/LangRef.rst:2735
+    BB_EXIT:
+      call void exit()
+      unreachable
----------------
exit is probably not perfect, maybe just set a flag.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97924



More information about the llvm-commits mailing list