<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">