<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/163084>163084</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed optimization: fold sdiv exact by constant + icmp ugt into scaled unsigned bound check
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Leo0506
</td>
</tr>
</table>
<pre>
```
define i1 @src(i64 %arg0) {
%v0 = sdiv exact i64 %arg0, 12
%v1 = icmp ugt i64 %v0, 12
ret i1 %v1
}
define i1 @tgt(i64 %arg0) {
%v0 = icmp ugt i64 %arg0, 144
ret i1 %v0
}
```
alive2: https://alive2.llvm.org/ce/z/AtXTSY
godbolt: https://godbolt.org/z/3x9eePPjf
Pattern found in: https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/llvm/optimized/ASTUnit.ll
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU1tr3DwQ_TXjF5FFHt8f_OB8wU9fIZAU2kddZr1KZGmxZOfy64tds9mmpRSMwZoznnPOHIkQzOCIWihuobhLxBxPfmr_J88LXibS67cWSr4_vNN0NI6YSRnkPEwKsDZlzgALMQ0csGFQ3QLv2Hq0cAbZHQvaLIxehYrsF-x_LMULNN2gRo1nNg8X4HINmyhug1c08A6qu_X9iVMc4r9w-jzowijPP8_iH7OujBDWLISQdewU4zlA1gH2gP3P84O1y3jw0wDYKwLs3wH7Ln57fPgOvBu8lt7G35v3wt649mSvDdH9_dMReHcvYqTJsaOfnWbG_aHfxNMsD8qPgL2O6vX97QWwX8nc-HO8keTUaRTTM2AvrZeA_SiMW7_Wyg4F7P05mtG8k15pPzx-dSYerE10m-kma0RCbVqVHJu0rork1IqmzqgUUlfEqZJVIUqSWOYZl8e6zlViWuRYpDzFtCqqojhUssnKOhW6qcpKNgJyTqMw9mJcYkKYqU3LjNd5YoUkG7aQIjp6YVsVENfMTu0mUM5DgJxbE2L4-E000VL7xYRAmu2yRDR-c-_orb6Op3xjyrsQhYsM8PYqJS56FpSwpNnstiujmdz2oE6knpN5su1fdrHbuvE8T_6JVATsNxEBsN9VLi3-CAAA__-zkxLP">