[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