[llvm] r329531 - Mark invariant.group as experimental

Piotr Padlewski via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 8 06:53:04 PDT 2018


Author: prazek
Date: Sun Apr  8 06:53:04 2018
New Revision: 329531

URL: http://llvm.org/viewvc/llvm-project?rev=329531&view=rev
Log:
Mark invariant.group as experimental

Differential Revision: https://reviews.llvm.org/D33235

Modified:
    llvm/trunk/docs/LangRef.rst
    llvm/trunk/include/llvm/IR/Intrinsics.td

Modified: llvm/trunk/docs/LangRef.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.rst?rev=329531&r1=329530&r2=329531&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Sun Apr  8 06:53:04 2018
@@ -5313,7 +5313,8 @@ Irreducible loop header weights are typi
 '``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:

Modified: llvm/trunk/include/llvm/IR/Intrinsics.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Intrinsics.td?rev=329531&r1=329530&r2=329531&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Intrinsics.td (original)
+++ llvm/trunk/include/llvm/IR/Intrinsics.td Sun Apr  8 06:53:04 2018
@@ -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]>;




More information about the llvm-commits mailing list