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

    <tr>
        <th>Summary</th>
        <td>
            indvars incorrectly making code return poison
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation,
            loopoptim,
            llvm:optimizations
      </td>
    </tr>

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

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

<pre>
    here we can see indvars doing something similar to bad behavior we've seen from GVN -- it is merging a couple of add instructions, but then it forgets to drop an UB flag on the merged add instruction, making the code emit poison when it wasn't supposed to do that

https://alive2.llvm.org/ce/z/6EzMpU

cc @nunoplopes @resistor 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxcUk1znDAM_TXmotkdENklHDjko_TU3tK7sQW4NZbHMruT_PoOZNO0vYAt670n6UmLuCkQder0qE7PhV7zzKlLNNGcioHtazdTIrgSGB1AiMAFe9FJwLILEwgvlOf95BbndYLMMGgLA8364jjBlRQ2F9qwAcbEC3z98R0OB3AZnMBCadrgGgyv0RPwCNpacEFyWk12HEThEwxrhjxT2GAjp4mybFI2cQQd4OURRq8n4LBl7axk_yfaeBb9a5PbkgxbAlpchshOOMD1xn_VEhQ2GWSNkYXsrsSQZ51V-azKh_fvnHMUVT8o7BX22rsL4dH7y3LkNCnsDSns3xT25y9v3-LL31BjQN2VYQ0cPUeS7ZZInGROUNiutm3d6oK66tzgucLmdC7mbqzbymDTIpY0lJUtq7pqakNkqKJxvC9chyXWZVVWiHVbnY9mHO7NyZxHO7aluR_VXUmLdv5PmYUTWak7tU3TFF4P5GVfBsTFieElOq_fZ4cKnxSiZ44cs1s-I_6yqPphD7o3fbMMt31K3fZ4GNZJ1F3pnWT5VM4ue-o-9skFwymRyf71w6TdoER5TeFmUbEm3_079snleR2OhheF_V7K--8QE_8kkxX2e4uisN-7_B0AAP__ZDr8iw">