<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/97161>97161</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[instcombine] fold x+umax(x, 1) to umax(x+x, 1)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sftlbcn
</td>
</tr>
</table>
<pre>
reduces use of x
https://alive2.llvm.org/ce/z/v6z3Gi
```
define i32 @src(i32 %x) {
%max = call i32 @llvm.umax.i32(i32 %x, i32 1)
%add = add nuw nsw i32 %max, %x
ret i32 %add
}
define i32 @tgt(i32 %x) {
%add = shl nuw nsw i32 %x, 1
%max = call i32 @llvm.umax.i32(i32 %add, i32 1)
ret i32 %max
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycUt1u4ywQfZrxDWpkBv-ECy6aL_L3HBgmCStsVwYSb59-ZeK0adW9WckSZuDMOYc5OgR3HokU1Aeoj4VO8TLNKpyi781Y9JP9rWayyVBgKRCbTmyB8gjl6yXGtwDiFbAD7LR3V8Kd99dhN81nwM4QYPcO2F2bd_G_u4OgKbcvby2d3EjMCWRQlWE2gPu8wXoBlAzaw_0iW0uDXhiIIzPa-wcmE6ZBLzsn8Av6v3yFA8qnFtra3GJdx3RjY7ixDTLoDMrgDTBTfJxqazcH7XH7-cFBPMe_OnhiDxf_nT1z838zu2r7we6T-tXbN_WPQRRWCSuF1AUp3nLZNJy3oriolnrbt7pFwduS120lSq05iUYbY2u-L5zCEquyQcm5kLjfGWOssNKQaLCSpwqqkgbt_EcqChdCIiVb3vDC6558yLlDHOnG8iEgrjGc1Yp56dM5rL5diOGzS3TR58C6MUQzDb0bCeojO03esgXwkPIs99ubomRxYp-1w0e9SLNXX3N8dvGS-p2ZBsBuZdyWl7d5-kUmAnZZZwDs7j6uCv8EAAD__1Fu6uw">