<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60883>60883</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Support unwind information in PerfJITEventListener
</td>
</tr>
<tr>
<th>Labels</th>
<td>
orcjit,
julialang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vchuravy
</td>
</tr>
</table>
<pre>
External profilers might want to do DWARF based unwinding if the JIT code was built with frame-pointer-optimization.
This was introduced in 2016 for V8 https://groups.google.com/g/linux.kernel/c/sq5WbV7xaec?pli=1 and so far LLVM politely ignores it https://github.com/llvm/llvm-project/blob/ee9a0f30ca8a3582d0738f7499ea902e1f713b39/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp#L113
I won't have time to work on this, but wanted to leave some breadcrumbs around why we disabled FPO in Julia https://github.com/JuliaLang/julia/pull/48660
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk0tv3DYQxz8NdRl4QVG7K-mggxtbgI0tGrSGcybFoTQORap8rLz99IWUFA2MokAuepDz_P9mZIw0OsSOnX5hp4dC5jT50F2HKQd5vRXK61v3-J4wOGlhCd6QxRBhpnFKsEqXIHnQHh6-3P_eg5IRNWS3ktPkRiADaUJ4fnqBwWuEVUZQmWyCldIEJsgZ7xZPLmG480uimf6Sibw7MP7A-P2358tEcXcll4LXeUAN5EDw8gzGB3htYEppiay6Z6Jnoh-Dz0s8jN6PFg-Dn7czJnpLLr8fvmJwaJnoByb6-Ofpi3qt3yUOrOoXS6x6KEE6DdGDkQEul9dfYfGWEtob0Oh8wAiUPqakNGX1PZe1139ed0vwbzgkJnplvWKiR2wlNxUfZCOrUyM0r6vG1Me2RdlygaWpy0pV7Q9xaPN7fMchb9o8upEcMtF_xmCen14er-hS_PB_oZjQYTgMy8JEdSnL6kdJn2D1jok6wSSvCIlm3ECuPnwF7yBNFJn4BCp_g4x6u7W42UY_I6iAUg8hzyqCDD47Det0gxVBU5TKoob-828bpedsSf6fWLvBRboN0Nv2zUS_ZLsBOjbnMy90V-m2amWBXXmuz2155Ke6mLrjUAuFw3Au21KgOg3atE15wqM6aq5NW1AnuKi4ELysRV3VBy51a7gxTSmUak6GHTnOkuxhE_rgw1hQjBm7M2-aqrBSoY37Zgjhw_BGiQnBxCcmxF6o3YsW296Eboet8hjZkVuKKf4bNFGy2P2Rl8WH9H07gJzxYd6HfZPpv9gVOdjup8dsb2Ebh72LvwMAAP__AsxIfg">