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

    <tr>
        <th>Summary</th>
        <td>
            Wrong code at -O3 on x86_64-linux_gnu (IndVarSimplifyPass)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          shao-hua-li
      </td>
    </tr>
</table>

<pre>
    ```console
% clang-tk -v
clang version 16.0.0 (https://github.com/llvm/llvm-project.git 0c1a3da8ea1f0e024ebfd85c7532926f26c6bde5)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /zdata/shaoli/compilers/ccbuilder-compilers
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
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
%
% clang-tk -w -O0 a.c && ./a.out
2
% clang-tk -w -O3 a.c && ./a.out
9
% cat a.c
void printf();
long a;
int b, d, e;
int *c;
void f(int *g) { *g = b; }
char h() {
  long *i = &a;
  for (;;) {
    int j = 0;
    for (;; a++) {
      b = 2;
      for (; b <= 8; b++) {
        c = &j;
        if (j)
          break;
      }
      if (j)
        break;
      j = 1;
    }
    e = 3;
    for (; e <= 8; e++) {
      int k;
      d = 3;
      for (; d <= 8; d++) {
        *i = k;
        f(&k);
      }
      if (a)
        return 0;
    }
  }
}
int main() {
  h();
  printf("%d\n", a);
}
%
```

Compiler explorer: https://godbolt.org/z/WTce7z7Md

`opt-bisect-limit` indicates the issue maybe in `IndVarSimplifyPass`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVVtv2zoM_jX2C2HDli-JH_ywJujBHg42YMPZ46BbYrWKFchy1-7XH0pOncRtAwxYoNgSxe8jRZMUM-KljepsGtz0g9EyyrZR9ikiFXBN-33iHiF5moRBAE_SDsr0kNdplmYQkXXn3HGICgTd49gr140s5eaAC62fXl_J0ZoHyV2KCpDxnBaCriXNd5nMSCnZTqwrvqoK0pB6R2peMyGriDST7e_U7qVDI_C8rn_WZTL2j7351Sda9eNzsu_Hk15nJRVwMEJqr300g3qetj73g6NaS7FV1m-hX78FdRTfQ0eNVjhBr49K4wn9nLNRaSFtcpYGonsz9gI47YVCvIR_NhtQEzl1GJoT-ThYf3TFfFA4x-fJ9bPL5D7P_z7nKWTfpMZwS_FX_NvMnh1G7ZRHIUsaFXdRmR3qcmHylhLm1ntJ9guSLxnQlKNvNQ7EkXuamtFN2uQjUHED1FyAqPOKk-DJKAFHq3q3wwT2WYY-hh1tMMfpvEQNwABtQPiHvJJH5BOfBYHRk5129kgK0eouzCEqtkhT4Gq1PRVTRy10k3GvN0kBgn3EqIDBI519AdgZ6wvOS3BcAwG85YcAyy4wCxSejdyFsUADsIAlV9hLdFDYeJ1p9SERAH_1_mHBhl7uPN3DXNkw_xiW7uNCf47XbfB70CkU-ZX0ik4GheKDWIXt82nlh6f1YV_aFu9QX5GLK3JxI5RzLixtAEy5Wz9e5u-NsNE3YbPSjbZfpMsFdp7OE3_YA1X928TtFoUEl_VFsAJFVG36MN0AvdQ8W5k7w-uldFpOLejUhUE-H7WxMjTxxd1jBDPapcbufXfH_4_vXK5-r_4Vl0xIbI4uYWrAboXt7qAcivBDCoVdQg7gOglqGEbsdvSF4bwHVPjci_-o_aYOR612L1_pMKAwlm1e11VdNaQpY9EWoikaGjvltGx_WF_NHC8jwO7jWxVenJdd9id2Wf9p3qEmTTxa3f7Z5YrL4Le_v6p1UWZx1_Jy1zCSS0mJqERVU1bmpC7Zqqay4as61pRJPbRRdRdV21i1JCMkz_Iiz7N1XqZC8LwmRckZFwUtGPZyiSmgU2_Yhzq2bfCBjfsBN7Ua3HDexLOofS_lKz8dXWds66_cpBspxiEOLrfB3_8BtjFR8g">