mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-30 23:21:04 +00:00
Mark invariant.group as experimental
Differential Revision: https://reviews.llvm.org/D33235 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329531 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c2cdd67e91
commit
9b484d4e23
@ -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:
|
||||
|
@ -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]>;
|
||||
|
Loading…
Reference in New Issue
Block a user