OSDN Git Service

Mark invariant.group as experimental
authorPiotr Padlewski <piotr.padlewski@gmail.com>
Sun, 8 Apr 2018 13:53:04 +0000 (13:53 +0000)
committerPiotr Padlewski <piotr.padlewski@gmail.com>
Sun, 8 Apr 2018 13:53:04 +0000 (13:53 +0000)
Differential Revision: https://reviews.llvm.org/D33235

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329531 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.rst
include/llvm/IR/Intrinsics.td

index 8bef503..963a66f 100644 (file)
@@ -5313,7 +5313,8 @@ Irreducible loop header weights are typically based on profile data.
 '``invariant.group``' Metadata
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The ``invariant.group`` metadata may be attached to ``load``/``store`` instructions.
+The experimental ``invariant.group`` metadata may be attached to 
+``load``/``store`` instructions.
 The existence of the ``invariant.group`` metadata on the instruction tells
 the optimizer that every ``load`` and ``store`` to the same pointer operand
 within the same invariant group can be assumed to load or store the same
@@ -5363,6 +5364,8 @@ to the SSA value of the pointer operand.
   ; if %x mustalias %y then we can replace the above instruction with
   %v = load i8, i8* %y
 
+Note that this is an experimental feature, which means that its semantics might
+change in the future.
 
 '``type``' Metadata
 ^^^^^^^^^^^^^^^^^^^
@@ -12923,7 +12926,8 @@ Overview:
 
 The '``llvm.invariant.group.barrier``' intrinsic can be used when an invariant
 established by invariant.group metadata no longer holds, to obtain a new pointer
-value that does not carry the invariant information.
+value that does not carry the invariant information. It is an experimental
+intrinsic, which means that its semantics might change in the future.
 
 
 Arguments:
index 2d6dd2e..e3ab8e2 100644 (file)
@@ -717,6 +717,8 @@ def int_invariant_end   : Intrinsic<[],
 // which is valid.
 // The argument also can't be marked with 'returned' attribute, because
 // it would remove barrier.
+// Note that it is still experimental, which means that its semantics
+// might change in the future.
 def int_invariant_group_barrier : Intrinsic<[llvm_anyptr_ty],
                                             [LLVMMatchType<0>],
                                             [IntrReadMem, IntrArgMemOnly]>;