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

    <tr>
        <th>Summary</th>
        <td>
            [DebugInfo] Missing debug location after replacement in processSDiv function
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Hi, I found a bug of updating debug locationg in the LLVM transformer **CorrelatedValuePropagation**. After assigning a newly created binary operator Neg, the original debug location of SDI is lost. However, the newly created Neg should preserve the debug location of the SDI. This is the [buggy code](https://github.com/llvm/llvm-project/blob/6ab663be8da2b2f0a3a59d1ab6935100fb832049/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp#L942). 

I guess I know how to fix it, and I can provide the unit test. How can I do to give the patch?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU02PpDYU_DXm8hRkbKCbA4feRWiRZleRZrX3Z_MAJx4b2aY78-8jMzvKxyiHXEB6z1UU5SqM0ayOqGfNJ9YMBR5p86G_7V5v5GKh_PzafzFMfIYJFn-4GRDUsYJf4NhnTMatMFOeWK8xGe9WMA7SRvD09OMrpIAuLj68UAAmbkzcPvsQyGKi-Qfag34Nfsf1RL7tS7gtiQK8Scv8CI4e9hV0oAwDZRyGV_A7BUw-wDdas8D8TR_Mahzaf2nKcp-HCUwE62Mq4Yt_0J3CO-yf_N9ohbj5w86wB4oU7nSe-siZp8_DVML3zcTMnges-aSOdX0F7WdizcDEdUtpj0zemBiZGFeTtkOV2r8wMVp7f3_9sgf_G-nExKisV0yMLaq2lYquMwolFo4Sm26uULWdbCrOF3WVgtfd33hMxn1_dz0yMT5rtBiYGP_b-VLvOxPyqasFE10JjA-M396eE6wHxQgT_O78Azb_gORhMX-ASdk_dDNMoNHBHvzdzG9eHc4kSPTT63M9wewzdDU__dwx6Y3JsZh7OXeyw4L66sIlv3LeNsXW18tFX3kt9ILYdG0lKs4rlHi9VlzKpi5ML7iQlRC8kvWlbkrdtEpie5mrTnVVXbGa0wsaW2Z7Sh_WwsR4UH9peXMtLCqy8cy-EI4ecC6ZELkKoT_vRB1rZDW3Jqb4F0syyZ6lGXImJrd41gzw1cT4sRCAZ54D7RY1vZBLuSF78JpifB7MHZbD6XyyOILt_3dWTtH5os-f-jMAAP__05lD1A">