diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 45ae2327323d6..a98fd351e54cd 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -11239,11 +11239,9 @@ responsibility of the code emitter to ensure that the alignment information is correct. Overestimating the alignment results in undefined behavior. Underestimating the alignment may produce less efficient code. An alignment of 1 is always safe. The maximum possible alignment is ``1 << 32``. An alignment -value higher than the size of the loaded type implies memory up to the -alignment value bytes can be safely loaded without trapping in the default -address space. Access of the high bytes can interfere with debugging tools, so -should not be accessed if the function has the ``sanitize_thread`` or -``sanitize_address`` attributes. +value higher than the size of the loaded type does *not* imply (without target +specific knowledge) that memory up to the alignment value bytes can be safely +loaded without trapping. The alignment is only optional when parsing textual IR; for in-memory IR, it is always present. An omitted ``align`` argument means that the operation has the @@ -11379,12 +11377,10 @@ operation (that is, the alignment of the memory address). It is the responsibility of the code emitter to ensure that the alignment information is correct. Overestimating the alignment results in undefined behavior. Underestimating the alignment may produce less efficient code. An alignment of -1 is always safe. The maximum possible alignment is ``1 << 32``. An alignment -value higher than the size of the loaded type implies memory up to the -alignment value bytes can be safely loaded without trapping in the default -address space. Access of the high bytes can interfere with debugging tools, so -should not be accessed if the function has the ``sanitize_thread`` or -``sanitize_address`` attributes. +1 is always safe. The maximum possible alignment is ``1 << 32``. An alignment +value higher than the size of the stored type does *not* imply (without target +specific knowledge) that memory up to the alignment value bytes can be safely +loaded without trapping. The alignment is only optional when parsing textual IR; for in-memory IR, it is always present. An omitted ``align`` argument means that the operation has the