<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56039>56039</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
wrong code at -O3 with -mllvm -enable-newgvn
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
It appears to be a regression from 13.0.*.
```
[541] % clangtk -v
clang version 15.0.0 (https://github.com/llvm/llvm-project.git e7c72d69ac0d504f52bed643b298b50904c6b387)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
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
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda, version 11.0
[542] %
[542] % clangtk -O3 small.c; ./a.out
[543] %
[543] % clangtk -O3 -mllvm -enable-newgvn small.c
[544] % ./a.out
Floating point exception
[545] %
[545] % cat small.c
int printf(const char *, ...);
int a, b, c = 1;
unsigned d;
void e() {
int f, g = b;
if (a)
printf("0");
while ((g || !c) && d >= b)
for (; f; f++)
;
a = b ? a % b : 0;
}
int main() {
e();
return 0;
}
```
Compiler Explorer: https://godbolt.org/z/sro3M4e6a
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VU2T4yYQ_TXypcsqhL7sgw4ee721h1QOSc4pBEjWLgIVINuZX59G8sjeibNVqey4MAK6-_WjaZraiL-qLx7YMEhmHXgDtQQGVrZWOtcZDY01PSRpTOKI7mKIyCEiu1tfkFubp_lLniVRfoCI5sAV063_BuvzLJ3mcJZ2Qk1yBCSouDl5P7go3UX0iK3t_GmsY256nCh1fvusB2u-Su5jVABZ8pKKYss4ETnJmpzWUhRZWtPtps7JlmS8qNNNGdHt7Pt3Zlvp0QlcN8WfRbYe9TdtLnqtOj1e160eb3onK5mA3gipgvZgXHedRV-080wpKQ6dDaLAy3Cm8OvG1_Xb2AzN-PqKg7rTs-HRjFoAZ1p0gnkJn_d76GYw5jEUN7DR2QDZ1SEInGPfFZvigSA9bv4n4G3vj5DFB0DGeLQ_H7b8AMiPYXo7pt-kwnyV4mdR3C_k-lH5LhgiUBylL1FG-iJ75_VHSvNu938cdj8gdktoPgoW0f394ibx43Wnb9f92dpSAn5NwfXoJubIBOnQI4vN6B9s0ic46TOcdR_KAaylZrWSay0v7Vkv6Hfj7M34nTfcGG4WK9FgOo2l5MrlMG3-bpo_4bKscea_9xZQBot9g8WMG4wn8BOzqLwLcYvjOJQhPIBFe4pnHToOUXqAZJGO2nWtxtMTy9LZdAIkQiMKROVtFSAANQGjnTDqxQBFTairbKl-gL-FYUQpwf8jJ4DLqVMSJukG8co9NpwmfHJKC2wg0M-n2dUjcGPsZIjn2swdfZnagw7Agy8288X-GMYY0jDeAVl0ovJwD1bPsJD-Y_e3gDzAWulHq5-hvH-l5ttk-gH3bOHTdVDGyqmmv3uKjKiN8rGxLc5CTXfWpL9ksmArUaVim27ZyndeyepiDWYUx2cDMD1Cml7wHfuXXF2NVlX_7dULr4Fzo3Q4yAuSblenitAyyXKekLSQMi3ZRpRFkZSlzNItSUizUqyWylWYvnje6BsmiHD2-WHVVZRgJhRJRklOSBkz2kheNtkmo1nSyBTrhcTYqzjwCDFY2WqiVI-tQ6HqnHd3IXNT5srJHeKz0Z-MrV5PUguMjRtXk_dqYv83Kjd03w">