[llvm] b9e9e2e - Wordsmith the semantics of invariant.load
Evgeniy Brevnov via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 21 20:06:25 PDT 2021
Author: Evgeniy Brevnov
Date: 2021-04-22T10:06:13+07:00
New Revision: b9e9e2eef18c80b2ee98fb4a5c00ce29bb105728
URL: https://github.com/llvm/llvm-project/commit/b9e9e2eef18c80b2ee98fb4a5c00ce29bb105728
DIFF: https://github.com/llvm/llvm-project/commit/b9e9e2eef18c80b2ee98fb4a5c00ce29bb105728.diff
LOG: Wordsmith the semantics of invariant.load
Don't phrase the semantics in terms of the optimizer. Instead have a
more straightforward execution based semantic.
Reviewed By: ebrevnov
Differential Revision: https://reviews.llvm.org/D63439
Added:
Modified:
llvm/docs/LangRef.rst
Removed:
################################################################################
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 9d00f4c045382..e6760f847d9f1 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -9639,10 +9639,10 @@ as the ``MOVNT`` instruction on x86.
The optional ``!invariant.load`` metadata must reference a single
metadata name ``<empty_node>`` corresponding to a metadata node with no
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;
-otherwise, the behavior is undefined.
+metadata is executed, the memory location referenced by the load has
+to contain the same value at all points in the program where the
+memory location is dereferenceable; otherwise, the behavior is
+undefined.
The optional ``!invariant.group`` metadata must reference a single metadata name
``<empty_node>`` corresponding to a metadata node with no entries.
More information about the llvm-commits
mailing list