<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/69091>69091</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Simplification Comparison (Clang9 vs Clang trunk)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Consider the following function:
```cpp
bool foo(int a, int b)
{
return (a + 1) || (a * b + b);
}
```
Clang9 (and GCC) can simplify `foo`, but Clang trunk cannot.
https://godbolt.org/z/nTj67b956
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxcUd2O4ywMfRrnBrUiJj_lgos2Vb4H-PYFgNCUGQIRkBnNPv2KpKNdjZQIY-zj43NkSnb2xghob9DeK7nlZ4ji_SRjDJ-pUmH6EkPwyU4mkvw05BGcC5_Wz-SxeZ1t8MCuQO9Ar9DR49PremRUCI48QgC8WJ-JBBxICRQgf_X0tyMghESTt-gJ4EUSwBupATmBfoB--E5eidqfdgB2-8a4_yBwXAcn_cz3Vj-R_4ah4GnpSbLL6uzji0BHC7uOFmJqy2RvITlu_r1U-pDPB9Yz5zWVTXEEHOcwqeDyOcQZcPwNOPpfb12veNtVk2ATZ1xWRtQd71nTUMqqp-jr5tJLOU36obDlrPxMXyTDtuONlpUVSJHVtG5pg13DzkpThrU0iJcaJa-hoWaR1p2d-1jK7MqmtBnRccrrykllXNqNRNRlD0AsnkZR6k9qmxM01NmU01-EbLMz4v9DEKtlMZQMYVlltCnsZrxk_Ej_qgPIqy068UMXm5-bOuuwAI5lxus4rTG8GZ0Bx51yAhx31n8CAAD__zYHvnw">