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