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

    <tr>
        <th>Summary</th>
        <td>
            [instcombine] Transform (X/Y)*Y into X if the remainder of (X/Y) is 0
        </td>
    </tr>

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

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

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

<pre>
    * test: https://alive2.llvm.org/ce/z/aJW8q5
```
define noundef i8 @src(i8 noundef %x, i8 noundef %y)  {
  %rem = urem i8 %x, %y
  %cmp = icmp eq i8 %rem, 0
  tail call void @llvm.assume(i1 %cmp)
  %div = udiv i8 %x, %y
  %mul = mul i8 %div, %y
  ret i8 %mul
}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0kk-PnDwMxj-NuVg7CmZC4MBh9h1xeM-VunsMxJlJFWA3CaNuP30Vlv1XtRJSjPOz9fiJdYzuMjN3IO9Bngu9pusSups11hbDYl46oBMmjgmqE15TeopQnYB6oF57d2M6eH-bDku4APUjA_W_8tX_35tnCeIM4gS12L_t17B1M-O8rLNhi65BOIoYRqDGNe9pIPkT6D_8mnoBahFB3b-2wpwLPCFUZ1xzkLvtlRv-gY3T04a5HPDzTgaeMivewKSdx1F7j7fFmaxsm07HuE6cFZZ7L6D2U3Pjbq8acvBvDdPqNyyfr5Rxtz-5wGm_nFa_O6jOf7WyMF1l2qrVBXdl3ZAUqqS2uHZ6sKxaJdVwtKVV5WgGQboyWtZG1aMsXEeCKnGkuiyFpPYgLQ8tjUrVsjkK1cBR8KSdf3_dwsW4cldTpZrC64F9fNuZ0GXoblgvMRvmYoofZcklv22Xm2Mal2lwM4M847eg52iXMCFQ8wDUP2ZL6fSIbk4LPqCzmK6MIcuYDQdc7GcUXURRrMF3X5fy4tJ1HQ7jMgH1WcV-3D2F5QePCajfJolA_TbM7wAAAP__vzrdTg">