@@ -354,7 +354,7 @@ added in the future:
354
354
not be used lightly but only for specific situations such as an
355
355
alternative to the *register pinning* performance technique often
356
356
used when implementing functional programming languages. At the
357
- moment only X86, AArch64, and RISCV support this convention. The
357
+ moment only X86, AArch64, and RISCV support this convention. The
358
358
following limitations exist:
359
359
360
360
- On *X86-32* only up to 4 bit type parameters are supported. No
@@ -685,10 +685,10 @@ implementation defined, the optimizer can't do the latter. The former is
685
685
challenging as many commonly expected properties, such as
686
686
``ptrtoint(v)-ptrtoint(v) == 0``, don't hold for non-integral types.
687
687
Similar restrictions apply to intrinsics that might examine the pointer bits,
688
- such as :ref:`llvm.ptrmask<int_ptrmask>`.
688
+ such as :ref:`llvm.ptrmask<int_ptrmask>`.
689
689
690
690
The alignment information provided by the frontend for a non-integral pointer
691
- (typically using attributes or metadata) must be valid for every possible
691
+ (typically using attributes or metadata) must be valid for every possible
692
692
representation of the pointer.
693
693
694
694
.. _globalvars:
@@ -1677,10 +1677,10 @@ Currently, only the following parameter attributes are defined:
1677
1677
- The range is allowed to wrap.
1678
1678
- The empty range is represented using ``0,0``.
1679
1679
- Otherwise, ``a`` and ``b`` are not allowed to be equal.
1680
-
1681
- This attribute may only be applied to parameters or return values with integer
1680
+
1681
+ This attribute may only be applied to parameters or return values with integer
1682
1682
or vector of integer types.
1683
-
1683
+
1684
1684
For vector-typed parameters, the range is applied element-wise.
1685
1685
1686
1686
.. _gc:
@@ -2315,6 +2315,11 @@ example:
2315
2315
This attribute indicates that RealtimeSanitizer checks
2316
2316
(realtime safety analysis - no allocations, syscalls or exceptions) are enabled
2317
2317
for this function.
2318
+ ``sanitize_realtime_unsafe``
2319
+ This attribute indicates that RealtimeSanitizer should error immediately
2320
+ if the attributed function is called during invocation of a function
2321
+ attributed with ``sanitize_realtime``.
2322
+ This attribute is incompatible with the ``sanitize_realtime`` attribute.
2318
2323
``speculative_load_hardening``
2319
2324
This attribute indicates that
2320
2325
`Speculative Load Hardening <https://llvm.org/docs/SpeculativeLoadHardening.html>`_
@@ -14342,7 +14347,7 @@ Arguments:
14342
14347
""""""""""
14343
14348
The first 4 arguments are similar to ``llvm.instrprof.increment``. The indexing
14344
14349
is specific to callsites, meaning callsites are indexed from 0, independent from
14345
- the indexes used by the other intrinsics (such as
14350
+ the indexes used by the other intrinsics (such as
14346
14351
``llvm.instrprof.increment[.step]``).
14347
14352
14348
14353
The last argument is the called value of the callsite this intrinsic precedes.
@@ -14356,7 +14361,7 @@ a buffer LLVM can use to perform counter increments (i.e. the lowering of
14356
14361
``llvm.instrprof.increment[.step]``. The address range following the counter
14357
14362
buffer, ``<num-counters>`` x ``sizeof(ptr)`` - sized, is expected to contain
14358
14363
pointers to contexts of functions called from this function ("subcontexts").
14359
- LLVM does not dereference into that memory region, just calculates GEPs.
14364
+ LLVM does not dereference into that memory region, just calculates GEPs.
14360
14365
14361
14366
The lowering of ``llvm.instrprof.callsite`` consists of:
14362
14367
@@ -14925,8 +14930,8 @@ integer bit width or any vector of integer elements.
14925
14930
Overview:
14926
14931
"""""""""
14927
14932
14928
- Return ``-1`` if ``%a`` is signed less than ``%b``, ``0`` if they are equal, and
14929
- ``1`` if ``%a`` is signed greater than ``%b``. Vector intrinsics operate on a per-element basis.
14933
+ Return ``-1`` if ``%a`` is signed less than ``%b``, ``0`` if they are equal, and
14934
+ ``1`` if ``%a`` is signed greater than ``%b``. Vector intrinsics operate on a per-element basis.
14930
14935
14931
14936
Arguments:
14932
14937
""""""""""
@@ -14954,8 +14959,8 @@ integer bit width or any vector of integer elements.
14954
14959
Overview:
14955
14960
"""""""""
14956
14961
14957
- Return ``-1`` if ``%a`` is unsigned less than ``%b``, ``0`` if they are equal, and
14958
- ``1`` if ``%a`` is unsigned greater than ``%b``. Vector intrinsics operate on a per-element basis.
14962
+ Return ``-1`` if ``%a`` is unsigned less than ``%b``, ``0`` if they are equal, and
14963
+ ``1`` if ``%a`` is unsigned greater than ``%b``. Vector intrinsics operate on a per-element basis.
14959
14964
14960
14965
Arguments:
14961
14966
""""""""""
@@ -21552,9 +21557,9 @@ Semantics:
21552
21557
""""""""""
21553
21558
21554
21559
The '``llvm.vp.minimum``' intrinsic performs floating-point minimum (:ref:`minimum <i_minimum>`)
21555
- of the first and second vector arguments on each enabled lane, the result being
21560
+ of the first and second vector arguments on each enabled lane, the result being
21556
21561
NaN if either argument is a NaN. -0.0 is considered to be less than +0.0 for this
21557
- intrinsic. The result on disabled lanes is a :ref:`poison value <poisonvalues>`.
21562
+ intrinsic. The result on disabled lanes is a :ref:`poison value <poisonvalues>`.
21558
21563
The operation is performed in the default floating-point environment.
21559
21564
21560
21565
Examples:
@@ -29187,7 +29192,7 @@ Semantics:
29187
29192
""""""""""
29188
29193
29189
29194
The intrinsic ``@llvm.allow.ubsan.check()`` returns either ``true`` or
29190
- ``false``, depending on compiler options.
29195
+ ``false``, depending on compiler options.
29191
29196
29192
29197
For each evaluation of a call to this intrinsic, the program must be valid and
29193
29198
correct both if it returns ``true`` and if it returns ``false``.
@@ -29246,13 +29251,13 @@ Semantics:
29246
29251
""""""""""
29247
29252
29248
29253
The intrinsic ``@llvm.allow.runtime.check()`` returns either ``true`` or
29249
- ``false``, depending on compiler options.
29254
+ ``false``, depending on compiler options.
29250
29255
29251
29256
For each evaluation of a call to this intrinsic, the program must be valid and
29252
29257
correct both if it returns ``true`` and if it returns ``false``.
29253
29258
29254
29259
When used in a branch condition, it allows us to choose between
29255
- two alternative correct solutions for the same problem.
29260
+ two alternative correct solutions for the same problem.
29256
29261
29257
29262
If the intrinsic is evaluated as ``true``, program should execute a guarded
29258
29263
check. If the intrinsic is evaluated as ``false``, the program should avoid any
0 commit comments