<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/99650>99650</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Why bolt will covert tail call to normal call in Bolt? 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            BOLT
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          liusy58
      </td>
    </tr>
</table>

<pre>
    Hi, I am reading Bolt source code, https://github.com/llvm/llvm-project/blob/main/bolt/lib/Passes/Inliner.cpp#L341
I noticed that when inlining a function A, tail calls in A will be transformed into normal call? Could anyone tell me why? For the safety of stack?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUksGK2zAQhp9GvgwN9tiOrYMOyS6mgYX2UOhZlsex2rEUJDnBb1-UUJYeexIa_Yif7xsdo706IiXas2jfC72lxQfFdot72xejn3b11Qp8gwvoFQLpybornD0niH4LhsD4iXJgSekWRX0SOAgcrjYt23gwfhU4MN__Hl9uwf8ikwQOI_tR4LBq6_LNcx6yzbPvOkaKAoeLY-soHMztJrD-qJtKlO-iPF3A-WQNTZAWneCxkAObs7mdhnlzJlnv4JSbJW0ZjGaOYB2c4GGZYSRIQbs4-7DSBNYlD86HVb-ioh7gzW88gXa7dwSJmGEleCx7fht8gLQQRD1T2sHPEJM2v0U9FJOqJ1lLXZCqOqxq2XVNXyzqOGNLE5pj03dNVc9TP1YGe6nlUZrZVIVVWGJTdpWsmhKxP3R1b1qpUVYz4dwcRVPSqi0fMsmDD9fCxriRkvLYlgXrkTg-TSKev338EIjZaVBP8ON2jaIp2cYUPz9INjGpn8sOWcALjfF3CukTG_yLJkPMC5AxFFtg9d_mn62z3lfxu8I_AQAA__9GJNKy">