<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54217>54217</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
wrong code at -Os and above with -mllvm -enable-constraint-elimination
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
```
[577] % clangtk -v
clang version 15.0.0 (https://github.com/llvm/llvm-project.git d5d03135a7160586e2b09dc47c7021379252fbbd)
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
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
[578] %
[578] % clangtk -Os small.c; ./a.out
[579] %
[579] % clangtk -Os -mllvm -enable-constraint-elimination small.c
[580] % ./a.out
Aborted
[581] %
[581] % cat small.c
int printf (const char *, ...);
int a, b;
int main() {
int *c, d = -1;
while (b)
d++;
if (a) {
printf("0");
if (d)
*c = 1;
}
if (!d)
__builtin_abort ();
return 0;
}
```
@fhahn
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VU2PmzAQ_TXkYoGM-T5w2E2Uqqce2vvKYBPcGhP5I0nz6zsmhE12V6tW3Y0IGM-bN8_jYdyM7Hcd5Hi-8CbAD0H2mBVFkG1QQDLUSqp29hcKDxfr9I4OXBsxKhRnEY4wAMve2r0JkoeAbOHaCdu7JmrHAV6kPFwf4V6PP3lrIwAgljGcxElGizjHWZlz0uCKtWnRFpjESVGRjHRNwwJSXWL_oHrHLQRBpzJ_ytPQqV9qPKpQCuVO4U65GddrThkaRsalR-9HI04X01dlLJWSs43Q3uR1jS2V8DTuHF7H475z5zMMGqEujtvRKYZaqphg1HL0Zb1G4kJGLaRiJnNGe0rR-CS0LdxFXuY3Asm2_E_Cee23lPknUEawtR9PW3wC5econbfpO5dQr5x9lMT1Im5w0grvCERRkDwGKR7y9D1UQmYYDN6BnRbc6QpcVvFe0OnDL-cP_42p517wzSAzQCKiFiiAh2xpNDp741O9pqneogkH3xZQyBVtJA_bETKsqVA25FIMQk2pXoItZCW-kr0I_tCMGtZ5g4xfKVmmoFLsPTcERnsN9873tEkNanuq4Q062xpFUeS7EeRtgVM_39xNDbAAcAckCop5HiFvAZrW4xkKkg0K48UNoWMvJPdRm6XfIfhB93v01zNQTNroC3Y0657iEgz_W6HefvFjd-xoUjSJudUSFJv7aAGJ7x2fnhonoJTUE_UZv2Bu42lunVYIL1ML58vj5nJPcdfTXqEVqxNWJRVdWWElr496hPOmhVaOYLN8yUDNIwh64OgIp8xfVtDKaVn_2xnle7cxjhsYZCmJi1Vf47jKG8ritisIq8qCdJRiitskJUlGymIlacOlqaHMoMZWoiYYNiPBYMZFmkZd0-GcZWWX5iljcQHL5lAtMvKBo1HvVrqeNDRuZ8AohbHm2UiNETvF-ZWfOtuPuj73XDFIk3GrSXE9yf0Dg9hMMA">