[clang] [docs] Fix markdown migration defects in the user manual (PR #210785)
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 22 13:50:00 PDT 2026
================
@@ -3951,50 +3808,48 @@ binaries. One way to do this is to partition functions into groups and only
instrument functions in a specified group. This can be done using the
`-fprofile-function-groups` and `-fprofile-selected-function-group` options.
-```{eval-rst}
-.. option:: -fprofile-function-groups=<N>, -fprofile-selected-function-group=<i>
-
- The following uses 3 groups
-
- .. code-block:: console
+:::{option} -fprofile-function-groups=<N>, -fprofile-selected-function-group=<i>
- $ clang++ -Oz -fprofile-generate=group_0/ -fprofile-function-groups=3 -fprofile-selected-function-group=0 code.cc -o code.0
- $ clang++ -Oz -fprofile-generate=group_1/ -fprofile-function-groups=3 -fprofile-selected-function-group=1 code.cc -o code.1
- $ clang++ -Oz -fprofile-generate=group_2/ -fprofile-function-groups=3 -fprofile-selected-function-group=2 code.cc -o code.2
+The following uses 3 groups
- After collecting raw profiles from the three binaries, they can be merged into
- a single profile like normal.
-
- .. code-block:: console
+```console
+$ clang++ -Oz -fprofile-generate=group_0/ -fprofile-function-groups=3 -fprofile-selected-function-group=0 code.cc -o code.0
+$ clang++ -Oz -fprofile-generate=group_1/ -fprofile-function-groups=3 -fprofile-selected-function-group=1 code.cc -o code.1
+$ clang++ -Oz -fprofile-generate=group_2/ -fprofile-function-groups=3 -fprofile-selected-function-group=2 code.cc -o code.2
+```
- $ llvm-profdata merge -output=code.profdata group_*/*.profraw
+After collecting raw profiles from the three binaries, they can be merged into
+a single profile like normal.
+```console
+$ llvm-profdata merge -output=code.profdata group_*/*.profraw
```
+:::
+
#### Profile remapping
When the program is compiled after a change that affects many symbol names,
pre-existing profile data may no longer match the program. For example:
-> - switching from libstdc++ to libc++ will result in the mangled names of all
-> functions taking standard library types to change
-> - renaming a widely-used type in C++ will result in the mangled names of all
-> functions that have parameters involving that type to change
-> - moving from a 32-bit compilation to a 64-bit compilation may change the
-> underlying type of `size_t` and similar types, resulting in changes to
-> manglings
+- switching from libstdc++ to libc++ will result in the mangled names of all
----------------
rnk wrote:
ditto
https://github.com/llvm/llvm-project/pull/210785
More information about the cfe-commits
mailing list