<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/137588>137588</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            【clang】The while loop is lost when in -O1 or higher Optimization level
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hippyll123
      </td>
    </tr>
</table>

<pre>
    in llvm18,the following code will be in an infinite loop at -O0, but not at -O1 or higher Optimization level, Is this expected or bug ?  This problem can be avoided by using `-fno-finite-loops` .

In GCC, -O0 or higher Optimization level are all infinite loops.

```
#include <stdio.h>

void bar() {
    int a = 0;
    int b = 10;
    printf("a = %p\n", &a);
    while (a < b) {}
    printf("b = %p\n", &b);
}

int main() {
    bar();
    return 0;
}
```

command:

`clang++  --target=x86_64-unknown-linux-gnu 1.cpp -O0 && ./a.out`

`clang++  --target=x86_64-unknown-linux-gnu 1.cpp -O1 && ./a.out`
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykU02PrDYQ_DXNpQUybT4PHGbYJXqnvbx7ZMADToyNsJnZza-PPMOb3SgvySESEqLpqq5qu4RzajJSNpCfIX-JxO5nuzWzWtcPrVPiUW_Hj0YZ1Pq6pBW8dnBuoWr9LPFitbY3ZSYc7CjxprTGXqIyKAwqc1FGeYna2hWFx_iNAbXY7x6N9Y9KinbDWU2z3PBt9WpRfwivrEEtr1KH9m8O_awcyvdVDl6OAdDvEwLvEL-HP-tmey0XHIQJ08XVqlGO2H_g7oI2KFh8MTZ-yImDHAcFwwTYCdjpm8Ff2jaMit_Yv8pBsUkUWv_Vmjt4oGDHw05AXJlB76NE4K3zo7LJDPz10RkEYi82oAqoRijPwE6IiMp4FAj8BRnwr8X-Xky_VNdNGX-5M9ADApSvkLcGiIIZoEIA1Z-I26y0RKAqtLfY_xhdvvyEsv8Hyv5J-cABOwV9i1Dmb26eDj81bNLvm_nh7qD4ujd2GuyyCDMCPz3XOmhhJqAz0Bkxjr3YJumBv7xXxa9FFu_md2NvJtbK7O_xZHZMk2Fd78cJVAAVmAB1IrG7f475P7Tpz2ijseFjzWsRySYts7wintdFNDdlRsTTkmRxKTPBh4qEoIoNnMp0EDWPVEOMcpZRxYq8zoskIyF5WhV8YCwt0gIyJhehdBIimNhtipRzu2xSXuZVFWnRS-3uASY6TFHI8tYEQNzvk4OMaeW8-6TwymvZwCuHikF9LOP4Sr_P8rgv9_Aqh9o6j7dZhlz_Z26jfdPN7P3qwjFSB9RNys97nwx2AeqCiOMVr5v9TQ4eqLubckDd4eva0J8BAAD__6sIWls">