<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111037>111037</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed optimization (-O3): llvm doesn't transform a loop into a constant
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dcci
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/oPKMWx871
Inline code:
```
long patatino() {
long x = 0;
for (int i = 0; i < 5; ++i) {
while (x < 10) {
if (x % 2 == 0) {
x += 2;
} else {
x += 1;
}
}
while ((x * 2) % 7 == 3 && (x + 1) % 5 != 0) {
x = x;
}
while (((x * 3) % 11 == 5) && ((x + 2) % 3 != 0) && ((x * x) % 13 == 7)) {
x = x;
}
while (((x * 17) % 23 == 11) && ((x + 3) % 7 != 0) && ((x * x * x) % 19 == 13) && ((x * x * x * x) % 29 == 21)) {
x = x;
}
while (((x * 37) % 41 == 23) && ((x + 5) % 11 != 0) && ((x * x * x * x * x) % 43 == 31) && ((x * x * x * x * x * x) % 47 == 37)) {
x = x;
}
while (((x * 53) % 59 == 31) && ((x + 7) % 13 != 0) && ((x * x * x * x * x * x * x) % 61 == 43) && ((x * x * x * x * x * x * x * x) % 67 == 53) && ((x * x * x * x * x * x * x * x * x) % 71 == 61)) {
x = x;
}
}
if (false) {
x = 42;
}
return x;
}
```
Probably can be reduced a bit, but that's a start.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vk_vmzgQ_TTDZfSL8BhiOHBIGkVarartbc8GO4lXDo6w06b99CsguCHJ709V1YoIeGbevDczwkjvzb7VuoJ8DfkmkedwcF2lmsYktVPfq0MIJw98BbQF2u6dqp0NC9ftgbY_gLbuy9-f_70UgkG6gXQ1Xv9qrWk1Nk7pPvTGAsv0-hserWv3eJJBBtM6oAKoRBDr0YiIODhcEPgGU-A3hp3rEKgwbUATzcPtJ8z7W6A10No8IPbr28FY3YdfBn-WPvXql9ld3ShH6vOMqV5z79dlSM03SDPC0wKxQW29_gAAew1gvvmwEeVdqa-QBsaUo5g0cARaAi0neWtkk0-OQOxtnWNHLg_83qQS2fApE2MTnXzcmhhFUpE4n5O691zhJYLyCVQAlX9IAhNTOorpGHtFBL-p_jsi7qSUEZu_HTGPoxhH7KEGv9m7KDyLzaPn5NZTV8dGf0j5MzVZrDB_XuGn0XcYPwf_D05FHjudl-9wXqO4HdhfLs4zkcvYkexD4_IuXixa_lt4c1QRWS4fh_NXWzF7GF_WO2m9foo6Imbz9_IModPh3LU3SaP17uAar186V8vafsdGtlhr7LQ6N1qhxNoEoE9YnwOGgwxAwqNEH2QXFomquCp5KRNdMUGiFEVZlsmhkryoiadLwcumWJIoS5WWijEldkoVmUpMRSllLE05K9IyLxc7LZdNUaRZIQuuZAZZqo_S2IW1X4_9KZ0Y78-6YoylXCRW1tr64awnavU3HKxA1B_9XdUHvdTnvYcstcYH_xMmmGB19dl4rxW6UzBH80MG49q-4i__9OMBfIW9PyqnfQskAoZOtn7nuiNKtM6d0LTBocTGtT7INiTnzt5_YZhwONeLxh2Btj3c9e_l1Ln_dBOAtgNpD7S9qvpa0f8BAAD__xWyB-Y">