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