<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/117969>117969</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm-profgen][PGO] Error when processing sampling based PGO for clang
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hrtan99
</td>
</tr>
</table>
<pre>
I'm trying to build clang for sampling based PGO to improve the performance of clang itself.
Command I used to build:
```
cmake -S llvm -B build_sample -G Ninja \
-DLLVM_TARGETS_TO_BUILD=host \
-DLLVM_ENABLE_PROJECTS='clang;compiler-rt' \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_COMPILER=/home/tanhuiri/projects/llvm-project/build_dev/bin/clang \
-DCMAKE_CXX_COMPILER=/home/tanhuiri/projects/llvm-project/build_dev/bin/clang++ \
-DLLVM_USE_LINKER=mold \
-DCMAKE_C_FLAGS='-O2 -gline-tables-only -fdebug-info-for-profiling -fno-inline' \
-DCMAKE_CXX_FLAGS='-O2 -gline-tables-only -fdebug-info-for-profiling -fno-inline' \
-DCMAKE_EXE_LINKER_FLAGS='-O2 -gline-tables-only -fdebug-info-for-profiling -fno-inline'
```
Then I use `perf` to run a compile command, which use the built clang of above to compile a sqlite3 source file, and collecting the profile data:
```
perf record -b -e BR_INST_RETIRED.NEAR_TAKEN:uppp -F 5000 -- /home/tanhuiri/projects/llvm-project/build_sample/bin/clang sqlite3.c -c -o sqlite3.o
```
Next, I try to convert this profile data into llvm's profile format using `llvm-profgen`:
```
llvm-profgen --binary=/home/tanhuiri/projects/llvm-project/build_sample/bin/clang --output=clang.prof --perfdata=perf.data
```
But the `llvm-profgen` report error:
```
llvm-profgen: error: No relevant mmap event is found in perf data.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VVFvozgX_TXOy5UjxxQYHngggVT5Jk2qNPNt9wkZMMGzxmaNyWz__cpO2tk2o30YzUqVauLre-85PseXjaM4Kc5TFC5RmM_YZDtt0s5YppJkVunmJd0gGvdgzYtQJ7AaqknIBmrJ1AlabWBk_SDdXsVG3sDj_d5FiX4w-szBdhwGblpteqZqDrq9HhV25LKdI5Ihkq103zPVwAYml-O1CgrcJorI9Y9kdc_-4ICfQMpzD3h5iSt9DxzwPeyE-soAhStEMpxvt_9_KI_Z4b44PpXHfbn8stnmKMg7Pdr3QcUuW26L8vGw_1-xOj6hIEc09p2iYFnrfhCSG2wsovHbwdVD9rm45CyPvz8WKMgPXP4mbJfzaqNa_SFyVa72D4-bbXHw6ded7jmia8tUNwkjEF0PRn_ltR0RXTuA-PqN6PqCs-FntxYK0fWFxg8Vnp9_fQ1El4gu39P15akot5vdZ1-m17K5gbreZvdXGvGeAj5JoTi2rJJ8xFrJF8Btw6vphIVqNW61cZ20wksJt0pjodyRW8IdyP8ue_H8iuxXFvkgY0SyY8fVRe-AIuIsgiLilG8mBQyuknP_nTMQXcG3TtSdP-BM5S7LXr2kW2CVd5t-O8hg_FMKywMY9WRqDq2Q3KVxPqu1lLy23tHOoL5rDg2z7NZzrjcwvNamAVwB5rA8lJvd07E8FMfNocjnuyI7lMfsc7FDQTYNwwB4DSEhBDCGnxLhxdAftH4FNK8B14D127e-ZXfH_7IO7MY9XBda1JkbC7YT4zu8IJTV_jlBNP6-5R8sC9PoOEIRee2yPXHlqtyw9M8AwLgSipmXn_XgD-FjrCc7TBYFuf9h7qoBxu5-LjeXu-Xcr28YWU7W3_UtFjB80MYCN0abfweGguwtDHYaDJf8zJSFvmcD8DNXFsQIrZ5UA0L5l9-zPL9taNakQZMECZvxdBEHNI6jRRzNujRJalqFTdPUzadFcxcGtI4ZjSpC2iZkCZmJlBJ6t1jQTyS6o2E0TxZx0BKSfIqiRdKSCN0R3jMh5673uTanmRjHiaeLRZxEyUyyisvRzzxKr08cdePPpB5sNZ1GdEekGO34PYUVVvpB-Y6QMEfh8vF-j8IcCscMfHPGHoyu-ejF84P56MamrzubjEw7a4fR8U7XiK5PwnZTNa91fxXHrUY8GKedK55zSv8OAAD__w6ael4">