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

    <tr>
        <th>Summary</th>
        <td>
            [BOLT] assertion failure: "fragment of non-simple function should also be non-simple"
        </td>
    </tr>

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

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

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

<pre>
    Many checks in BOLT only update the parent functions to non-simple, leaving their fragment status unchanged. This might trigger an assertion failure: "fragment of non-simple function should also be non-simple" in BinaryFunction::getOutputAddressRanges.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0kUGO2zoQRE9DbRojUE1JthZaeL6h1Q8GCOYClNimmFCkwCYN-PaBDGOSHCArbqqLVfU0s7OBaBTdu-iulS55jWn0LrALOjTD0FVzNI_xmw4PWFZafjK4AO8f_39CDP4BZTc6E-SVYNeJQoZbCUt2MTDkCCGGN3bb7kngf-BJ312wh9oluCVtt-OCs86FoYRl1cGSqeFzdQybs2uGnJy1lEAH0MyUDmu4aedLIqEuIBC_jOLtjw-_ggCvsXgD2nOEmf7KhM82Luj0mF5yoS5CXSzlj5L3ki_GJGL-fiTjWsirkJfKjMoMatAVjc0JB8ST7FW1jue-V51ummGm3hjqTDdQp1rVSkLVzKpyI0psG9mcZds1UtWN7OXJDB3ehr5dUIpW0qadr72_b3VMtnLMhcamwbM6VV7P5PmJC_GgIBAPcGk89G9zsSxa6R1n_u2QXfZPxM-D7vpPhqxK8uOa887HgDgJnKzLa5nrJW4CpyPN63nbU_xBSxY4PcuxwOnV7z7irwAAAP__XEDbqw">