[PATCH] D65718: [LangRef] Document forward-progress requirement

JF Bastien via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 7 09:30:39 PDT 2019


jfb added inline comments.


================
Comment at: llvm/docs/LangRef.rst:2496
+Every thread of execution is required to eventually cause a side-effect
+(including but not limited to accessing of inaccessible memory, volatile or
+atomic memory access, or other forms of thread synchronization). Failure to
----------------
jdoerfert wrote:
> Meinersbur wrote:
> > [typo] `accesses to` or `accessing ...`
> > 
> > "inaccessable memory" is a strange example, it results in an access violation and most often termination of the program, but I guess it can be called a side-effect/progress. However, the compiler may optimize away unused accesses to non-volatile memory such that the side-effect is not guaranteed to happen. Maybe include system calls instead?
> "inaccessable memory" is not "invalid memory" but just memory not accessible through direct means from the module. (`llvm.side_effect` is modeled as an access to inaccessible memory only)
It would be better to clarify what "inaccessible memory" means here, or refer to a definition.


================
Comment at: llvm/docs/LangRef.rst:2497
+(including but not limited to accessing inaccessible memory, volatile or
+atomic memory access, or other forms of thread synchronization). Failure to
+cause a side-effect in a finite amount of time results in undefined behavior.
----------------
A relaxed atomic load is a sufficient side-effect?


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

https://reviews.llvm.org/D65718





More information about the llvm-commits mailing list