<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59256>59256</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Passing pointer to a local variable prevents TCO
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
N0tAI
</td>
</tr>
</table>
<pre>
LLVM optimisation passes fail to turn a recursive function into a loop even when the variable being passed is unused/falls out of scope before the function recurses.
https://godbolt.org/z/1h3o3sMj4
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxdUcGO3CAM_ZpwsRqRMGEnBw6zXVWqtNv2UPUOxCSsmBBhmKr9-pJMtytVAmPrGb_3wMTpl3p-_vECccv-6klnH1fYNBESOO0D5Ai5pBU0JLQlkb8huLLao9GvFdYQYtwAb7jCz6WGvCDcdPLaBASDfp3vEyfwBGUtNWv6T06HQBBLhuiAbNz2XhcTHvf_UdxZkdqGPzX8co9Lzhs14lLH1DXHycSQ25jmWv2uu1tEFPTyemKoOinHBylOA2eTEtMoRs2yzwHVtyrqEBerD0zw14vV4V3-lnZfmeD7x6-spKD-o_Z5Kaa18VqLEG5vx4ctxVe0uZaeqCDVZBj7QbJFmTOezSCdNUI8jNx03ei4PVtuO8sHdCxog4FUMzw2wxPzqud933X92IuOC9FqlOI8oZFCO4kSmxPHa_2qdifeH4EldWgwZaYKBk-Z3sHd9Lwivs3XJS8xqS88Xz6zQ6w6lP4B482z5A">