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

    <tr>
        <th>Summary</th>
        <td>
            wrong code at -O3 on x86_64-linux-gnu (affect versions from 12.0.0 to trunk)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Hi all.

The following valid code was mis-compiled by LLVM 12.0.0 above versions. 

```
$cat small.c
int a = 1;
void func(int i) {
    L1:
    {
      for (; i ; i++)
        ;
      if (a)
          goto L1;
    }
    __builtin_abort();
}
int main() {
  int i = 0;
  func(i);
  return 0;
}

$clang -O2 small.c ; ./a.out
//endless execution

$clang -O3 small.c ; ./a.out
Aborted (core dumped)

$clang -v
clang version 15.0.0 (https://github.com/llvm/llvm-project d636b76ecaa67394c09afb4f1c127527ebb798bf)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/haoxin/haoxin-data/compilers/llvm-project/build/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
```

Please check on Godbolt for other versions' behavior here:  https://godbolt.org/z/WbTfha875

Thanks,
Haoxin
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1Vdtu2zgQ_Rr5ZWBBoq5-0EMSw-0CWbTABtvHgJQoiw1FGiRlu_36Dinf6sUWKJAasqTRDM8Zzo1Md9-ajwKolHGUrKPkYb6_DBx6LaU-CLWFPZWig1Z3HA7UwijsstXjTkjeAfsGz8___g0piZM4Acr0nsOeGyu0sjHcgkZlcrpmkeQtdWBHT97O34RyQCHK1pBG2eP8ba-RvJ9UG5Ha60VEVhBVJy3g7xmNH67iTzrAfRjApYgHAsI9Io_hWt2aAVwYZ1H0fhn9jxnAVjsdSB9vSddX4fWVTUI6oV4xHsZ5dkQ5m19M_W5GKtSsv_U77DPEIblhOQfhFgzAcDcZdWN4wb_GWVJM4_ITOUc7xCGOyIbGenJnuw1eXHWSWwv8yNvJYRL_Byr7FdSD3zUWBzrbasOhm8Yd7y6RvAfbzx9m6VQ7kBahoBBicG5nfYaDg1vhhonFWIAoSLk_P5Y7o7_y1kFXZiWrSt5SWlbZKm-TFe1Z3qdtSqqCVJyxalWz_uLOCzVb7pAAjnX5WubLSb0pfVBLKdR0XG7VdG4Kw2kHI_aB9NY7bcVxVv2lrMNo8G4tjFehT4MeuX9QffQZPr0sO-qwpDan_jH2znsUfel0_ilOsd_oSWH7UdUJXM3hw9MTFkggpCFDM-FkjQcTzAepxULZnLZz3QbZpMkfwEzfH7P6A5AxVtT7w9bvD3mqy3-4xIrANnqP5DxdPBsnnEx-FaLEfmjkyVjmd5S_Mrqf4-H-WXJqObQDb98A2_eD7piWLkxf7QZuLodCRCpgfKB7gSpUcM8Bd00-r4612aL0Hf9f2Es_0Loqfj6mqHpDwKdZ_BhabNE1WbfKVnThhJO8ORiNYyWcXnjc-MmF7t1HKoz6vvfz4-wn9EaP53MNB74zOBdwaCwmI5vfm0koCmsn7ru9yElGFkOT8YJkaV3TMqvapMqKNu1StsrTuk2TvK4XkjIubRMVeFIRxQ8QIPA9KtYL0ZCEkCRLyrTMSJ7FOS7l-aooC96zsm8xYRzPFhl7P3wcF6YJLrFpa1EphXX2qqTWiq3iPNAhPp3coE0zDy03LQJ3E3z_ARGvcUY">