diff options
author | Geoff Berry <gberry@codeaurora.org> | 2016-08-31 17:39:21 +0000 |
---|---|---|
committer | Geoff Berry <gberry@codeaurora.org> | 2016-08-31 17:39:21 +0000 |
commit | 4bda57622b7f708be49bc80906fff89bf68c45a1 (patch) | |
tree | 3701ab5906a995f32b25e4d05dcd33eb85eaa656 /llvm/docs | |
parent | 93b5b660e87631f805fe47a659ecbf011796bdd4 (diff) | |
download | bcm5719-llvm-4bda57622b7f708be49bc80906fff89bf68c45a1.tar.gz bcm5719-llvm-4bda57622b7f708be49bc80906fff89bf68c45a1.zip |
[LangRef] Clarify !invariant.load semantics.
Based on discussion on llvm-dev.
llvm-svn: 280262
Diffstat (limited to 'llvm/docs')
-rw-r--r-- | llvm/docs/LangRef.rst | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 83573be24d6..4bbd0634427 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -7072,12 +7072,10 @@ as the ``MOVNT`` instruction on x86. The optional ``!invariant.load`` metadata must reference a single metadata name ``<index>`` corresponding to a metadata node with no -entries. The existence of the ``!invariant.load`` metadata on the -instruction tells the optimizer and code generator that the address -operand to this load points to memory which can be assumed unchanged. -Being invariant does not imply that a location is dereferenceable, -but it does imply that once the location is known dereferenceable -its value is henceforth unchanging. +entries. If a load instruction tagged with the ``!invariant.load`` +metadata is executed, the optimizer may assume the memory location +referenced by the load contains the same value at all points in the +program where the memory location is known to be dereferenceable. The optional ``!invariant.group`` metadata must reference a single metadata name ``<index>`` corresponding to a metadata node. See ``invariant.group`` metadata. |