tmp/tmpa9bcwm5m/{from.md → to.md}
RENAMED
|
@@ -4,22 +4,25 @@ The *attribute-token*s `likely` and `unlikely` may be applied to labels
|
|
| 4 |
or statements. No *attribute-argument-clause* shall be present. The
|
| 5 |
*attribute-token* `likely` shall not appear in an
|
| 6 |
*attribute-specifier-seq* that contains the *attribute-token*
|
| 7 |
`unlikely`.
|
| 8 |
|
| 9 |
-
*
|
| 10 |
-
|
| 11 |
including it are arbitrarily more likely than any alternative path of
|
| 12 |
execution that does not include such an attribute on a statement or
|
| 13 |
label. The use of the `unlikely` attribute is intended to allow
|
| 14 |
implementations to optimize for the case where paths of execution
|
| 15 |
including it are arbitrarily more unlikely than any alternative path of
|
| 16 |
execution that does not include such an attribute on a statement or
|
| 17 |
-
label.
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
-
[*Note
|
| 21 |
result in performance degradation. — *end note*]
|
| 22 |
|
| 23 |
[*Example 1*:
|
| 24 |
|
| 25 |
``` cpp
|
|
|
|
| 4 |
or statements. No *attribute-argument-clause* shall be present. The
|
| 5 |
*attribute-token* `likely` shall not appear in an
|
| 6 |
*attribute-specifier-seq* that contains the *attribute-token*
|
| 7 |
`unlikely`.
|
| 8 |
|
| 9 |
+
[*Note 1*: The use of the `likely` attribute is intended to allow
|
| 10 |
+
implementations to optimize for the case where paths of execution
|
| 11 |
including it are arbitrarily more likely than any alternative path of
|
| 12 |
execution that does not include such an attribute on a statement or
|
| 13 |
label. The use of the `unlikely` attribute is intended to allow
|
| 14 |
implementations to optimize for the case where paths of execution
|
| 15 |
including it are arbitrarily more unlikely than any alternative path of
|
| 16 |
execution that does not include such an attribute on a statement or
|
| 17 |
+
label. It is expected that the value of a *has-attribute-expression* for
|
| 18 |
+
the `likely` and `unlikely` attributes is `0` if the implementation does
|
| 19 |
+
not attempt to use these attributes for such optimizations. A path of
|
| 20 |
+
execution includes a label if and only if it contains a jump to that
|
| 21 |
+
label. — *end note*]
|
| 22 |
|
| 23 |
+
[*Note 2*: Excessive usage of either of these attributes is liable to
|
| 24 |
result in performance degradation. — *end note*]
|
| 25 |
|
| 26 |
[*Example 1*:
|
| 27 |
|
| 28 |
``` cpp
|