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

    <tr>
        <th>Summary</th>
        <td>
            [InstructionSimplify] The result of icmp should be false.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:optimizations,
            missed-optimization
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          DianQK
      </td>
    </tr>
</table>

<pre>
    I tried this IR:

```llvm
define i1 @src(i32 %0) {
  %o = or i32 undef, %0
  %l = lshr i32 %0, undef
  %c = icmp ult i32 %o, %l
  ret i1 %c
}
```

InstructionSimplify should infer that `%c` is false.
Alive2: https://alive2.llvm.org/ce/z/n7H3i6
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxskt1unDAQhZ9muLGyMmMMywUXm6xQo1715wUMjJepDF7ZJlLy9BU_adKqEgJp-Gbsc-aYGPk2EzWgHwHxymb-9hUQQV8zs6TRh2avZZ0fXptnkQLTINLIUTx_B3UBeQX5_i7l_jj3Mu2lgSzPJDgXUMgYesAzKxSAWgLWAqrHnRNryQtQV-GDWJFlHsgCPu3sB-Q2yMVxx_ZJTwf-gfUbxv10F4tL76g_Brp3MlDaLoe6PzRU13_EfFb4PMcUlj6xn3_wdHdsX0Uc_eIGwbOlINJoklib1oGlFByFNS7Sae-_OH4hBHURY0r3uPqHLWBrtvpp9e3kww2w7QmwfQNs5-qL4jIbGjXUqjYZNXlZV1rLIi-ysZEobV1ZXdcDoRronBvKe9mXHWlb6HPGDUpUucyrXBVloU-DPdeoO2ONLVRV9VBImgy7P6dnHONCTVkrpTJnOnLxiMe2V3Xx98QTv5nVhriGBZ8AceIYaXj4_PMIUmjWxoduuUUopOOY4sdhiZPb4vcfb0Ffxc-RRKC4LtHbfaGH4x0d3mZLcM3fht44jUt36v0E2G7X3j8P9-B_UZ8A201lBGw3ob8DAAD__2m05bA">