<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">