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

    <tr>
        <th>Summary</th>
        <td>
            wrong code at -Os and above on x86_64-linux-gnu
        </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 recent regression from 14.0.0. 

```
[651] % clangtk -v
clang version 15.0.0 (https://github.com/llvm/llvm-project.git b9513a70e16a7b7141601e09d5b9fc1cdecb26ab)
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/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
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/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[652] % 
[652] % clangtk -O1 -w small.c; ./a.out
[653] % 
[653] % clangtk -Os -w small.c
[654] % ./a.out
Segmentation fault
[655] % 
[655] % cat small.c
int printf(const char *, ...);
int a, h, b, d, f, i, j = -1, *c, *e, *g;
int main() {
  char *k, *l;
  for (; h < 8; h++) {
    int m = i;
    for (; a < 8; a++)
      if (d)
        printf(k);
    i = 71;
    k = (char *)&m;
    c = (int *)&l;
  }
  while (1) {
    int o = b, n = 7 & a;
    if (b && f) {
      printf("0");
      g = &o;
      for (; *k; (*k)++)
        ;
    }
    if (n)
      continue;
    int q = ~o, p = a ^ o;
    unsigned char r = ~(~(j * p) * o * ~(q ^ a));
    if (r < 8)
      break;
    return 0;
  }
  *e = 0;
  return 0;
}
```

Compiler Explorer: https://godbolt.org/z/a4Y3M51qP

@fhahn 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1Vktv4zYQ_jXyZWBB78dBh42dLPZQtMD20lNBUdQjlkiFouI0v75DSpYlxyhQbALLQ4oz8803Q3rMXBT_ZD8UkL5nRA6gBOQMCEhGGVc4VJINQyM4lFJ04Aa2gx-wnKPlfJtl5MzP9Bo-RKFrhUewvBBoS3ilTrB_nbTmHV6ZNJhuqOHQMKmV6gfL_2Z5T_hUjarH3Kaiw5e2fb0M-16KZ0aVjQaQp6Hrk9hhbkTiPHYDN3Jc5qRFmKcldWnBaO5FJLe8dIr9J5EVUxgE3pLo7yjYj_zExZnv24aPb_uKj7NdLRkpoBMFa7V1L4bmbVL94IMibcuKYyO1SvMSlLQ4DuP7_jIXfTm-v-Mkb_jk-CRGXgAlvGgKohh8PxygmcCIwlLMYOMgNWST6yJQirKJkmhF0HtKfhFwzn0N6TpfgOl-Pmb0BZA2HsHPh42_APJrmM7H6Sdr8XfFik_Z88PCrBtb1WgvRLEt_8EKnC4KbkL-l5HpJt6lm9xbWzrM7y7szzB0yNymCINY3hOxxahWbv4dKP8j1LCGuloGF8sb6J-s6rBdmoJBSTCflVN4J-SyRonaxmmw6_YSZYldkQrcCaA1kWiMvfEAtm3rfoZFWqyJXq-1yLUotCi1aLR4Bss_wt7Vc8Sg88jmsdpAdQT7lZdgBLDieR2W-KfZp118AEqhVYkud42RDjBNLe_BPBscABPDEGpWGBsUckUhC8rVEjFKbVrcrMK1aKd1gYyHiRi7m8WTWdQ1XqqbWl7UbYzoxUgTX2zW-Vvx8TI9103LtLF7N29hsMwW8YkQ2kaY5IaqSS7XGq0sPyCt8rQ8z8HvbbYA1cw6EjeKVZnNdpoxmXY2vVtsTHANscr2wpXfeOCRVdgS2DYtzP9lYhU_Cl2C3rzhZoePsKU58qGpOLYFszHy4qWJGvmsuUNvKoMTYeSkejFwxCST3qmrnM_WlnGO__anjbVkapQcnPv7rH89htVa_8Flcbi9Hk0dUnQ9nhYJj299KyQzl4mbO5AoctEqW8gK3_RlggR_-b-F7ssfm9tX4JQ1qTnsiswvUj8lO9WolmVnKfCmRfESA9hjdEvDrgwkF68MsEvdtu_dKNvs_93C9O1kGEY24CSMAtfZ1ZkX0pBGIXNDnyWJE4epy1jiE7egLKEh27UkZ-2QYRfEs8vZGQyEPsfhcddknoOnOnYiz3ECJ7KLxMudiHmJ5_lJmAaYLcMm1dqahy7NTmaGUj5WAyrbZlDDVUkGc5aYCYf4ZFS1kNl7zXiB1RnGnYmeGfb_AvBqEDM">