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

    <tr>
        <th>Summary</th>
        <td>
            [BOLT][DWARF] Output ranges not properly updated for deleted basic blocks
        </td>
    </tr>

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

    <tr>
      <th>Assignees</th>
      <td>
            maksfb,
            ayermolo
      </td>
    </tr>

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

<pre>
    When a basic block is deleted as a result of optimization, `translateInputToOutputRanges()` will return an empty "translated" range for such block. Then the following code will set a corresponding DWARF address range to the first input range:
https://github.com/llvm/llvm-project/blob/1aa1d176ba96ded489b902376426dde71556be1f/bolt/lib/Rewrite/DWARFRewriter.cpp#L965-L968
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUksFq5DwQhJ9GvjQZrLatsQ4-JBkMPwQCIZBzy-oZ64_GMpK8YfbpF9uT3b3uycitKqrUH6XkLhNzJ5ongXilz3Q2AlHgs0CkG8dr8GH90ZwKWvIYYrdfKkywt-5j5AkIDCU3gPFh-ASXwLLnzBYoAUHktPgM4Qxhzu7qflJ2YRL4DEKVOdKUPGX-b5qX_B5elzwv-Y2mCyeBrUAtVAlfznuInJc4AU3A1znfQCD-VluBCHFVwTlESMsw7mkO8L4mzOM68D58uekCQ7C8eybOQDCEGDnNYbLr9PTx-NYDWRs5pbtpDruFiymDW6PuA1E9ivIkyscx5zmtJ-wF9heXx8UchnAV2Hv_4_vzMMfwPw9ZYG98MAJ7SSStPCpDWlm2dauNLrE6qhqVtXyUTaMMy_OqCH4Verfq3vgruswC-y3u_RgPwzwLrF60ah5etGoL21VWV5oK7uSxLHUrJcpi7M4Dt0cmKQ2RauxALRFqW9eotK7OsnAdllhJiapUdYPy0LKlemiNVlTVR7SiLvlKzh_WYocQL4VLaeHuWNXYFp4M-3Sn6un15f2OUOy2dzDLJYm69C7l9Mcgu-w3EjdBcxLN09ZONCfYwdhfPcEUMswxzBz9DZbZrghsm_8m7y8gU7FE3_3zgrY2SWC_FfoVAAD__2d2CA4">