<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/76713>76713</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Miscompile with opt -passes="constraint-elimination"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mikaelholmen
</td>
</tr>
</table>
<pre>
llvm commit: 5842dfe34d89
Reproduce with: ```opt -passes="constraint-elimination" bbi-90501.ll -S -o -```
[bbi-90501.ll.gz](https://github.com/llvm/llvm-project/files/13810077/bbi-90501.ll.gz)
There are two nested loops in the input that should finish and then we should end up at
```
bb.2: ; preds = %bb.1
ret i16 0
```
but with constraint-elimination the condition in bb.5 is changed to
```
%i10 = or i1 true, %i9
br i1 %i10, label %bb.7, label %bb.6
```
so we will go to
```
bb.7: ; preds = %bb.5
ret i16 1
```
instead.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU8uOpDgQ_BpzSYHsBAo4cOjeUt32srs_YOMsyB1jI2ymNPP1I6jqebRqpGmEQJChyMhwho6RR0_Ui_pV1OdMb2kKaz_zJ01uCm4mn5lgv_TOfZ5hCPPMSZQvULcV2iuVlW07Ic9CvvxDyxrsNhDcOE07Rpzk_Q5LgnzRMVIU5VkgDsHHtGr2KSfHM3udOHiBCMZw3slaqsI5yP-FPED-nefeSNSvP6OK8auozwLbKaUlivJF4EXgZeQ0baYYwizwsot_vPJlDf_TkAReruwoCryoslVSNo3Ay3tifAx3f_430UqgV4J0C-ApJrLgQlgisIc0EbBftgRp0gniFDZn4cqe4wTa2x3g4UZvFfIWtgV0erT4dUpjCtxN_MglyldYVrIRRHkGgbUxhbrTAayUgNUJ5PN2WzrODZ4fzTHcELzl44s9GFPUwBGGSfuRLKTwlBd2GazkoSiswArSupHAv45C94YyR-mO3YtOG3KPEZr3P05PW8Wwm3tj52AMv9Nz0O27-cSq-r1V6ikF-5hI2yKzfWm7stMZ9aqRleq6pqmzqbeyKk2rh7YmNQzdYLqmudbadrXF4XrFjHuUWEklUWHVlVVR1co2iLpprT2dhlZUkmbNrtg3tgjrmHGMG_XNqVFldlgRj8QierrBURSIe4DXI6m52cYoKuk4pviDJXFy1P_NcQjzwu4eVfjzeGbb6voP5-yQtwftkP8tAAD____YS7Q">