<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">