Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions llvm/docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7154,12 +7154,15 @@ sections that the user does not want removed after linking.
'``unpredictable``' Metadata
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

``unpredictable`` metadata may be attached to any branch or switch
instruction. It can be used to express the unpredictability of control
flow. Similar to the llvm.expect intrinsic, it may be used to alter
optimizations related to compare and branch instructions. The metadata
is treated as a boolean value; if it exists, it signals that the branch
or switch that it is attached to is completely unpredictable.
``unpredictable``` can be used to express the unpredictability of control flow.
Similar to the ``llvm.expect`` intrinsic, it may be used to alter optimizations
related to compare and branch instructions. This is treated as a boolean value:
Any instruction it is attached to signals it is completely unpredictable.

``!unpredictable`` may be attached to, and will affect, these instructions:
* branch
* select
* switch

.. _md_dereferenceable:

Expand Down
Loading