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

    <tr>
        <th>Summary</th>
        <td>
            Instruction does not dominate all uses!
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            loopoptim,
            llvm:instcombine
      </td>
    </tr>

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

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

<pre>
    Not sure if this is the loop pass unroll-and-jam or a later optimization that messes up...

clang-16 -cc1 -triple s390x-ibm-linux -S -O2 -w -mllvm -enable-unroll-and-jam -mllvm -allow-unroll-and-jam -mllvm -unroll-and-jam-count=8 -o crash0_aftercreduce.s -x ir  tc_crash0_aftercreduce.ll

[testcase.tar.gz](https://github.com/llvm/llvm-project/files/9850183/testcase.tar.gz)

```
Instruction does not dominate all uses!
  %i9.i = and i64 %i8.i, %i4017
  %i10.not.i = icmp eq i64 %i9.i, 0
Instruction does not dominate all uses!
  %i4017 = zext i16 %i10 to i64
...

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylU82O0zAQfprkMrLlOHGaHHIoVEhwACQeYOU4bjMrxw62w5Y-PU5alt0KJBDRKJ7x_H3z494N37uPLkJYvAY8QhwxQKI4ajDOzTDLEGCx3hlDpB3Io5zAeZBgZNQe3BxxwouM6GxykhEmHYJOLjOlNGOHjO2vf2WkPZGiBqJUASR6nI2GULbsTLCfiEG7nIF8AfKJA3kCMhnzbQKireyNJncQfmqlMe7pT8rX10S5xcasPDRAHCgvw8ge5DFVobweFqVpAHIG9ABRPfxOb8zLgjLxJuoQlQyaRunp6ZKJQ8abMcY5ZOU-4-8SnTCOS0-Vm5KwwrodZPbuUauYxCMaHdLZNoIVTZm4-7i8fZW4ZjfaxPc2RL-obQKDS623aZ6Dm9CmCUFqECxhjV9czQEyLrClCKkVkHoDWFfbXUMx4283tmLF7qV5wWiKevNBNc2gvz77tVe__4Gz5ttiX_Q5AqYtuWaF6NY0V9O7hXpuQ667ok4fKwpW50NXDm3ZyjxiNLr7azj54k33z7PDEJZteKIRtcjHjreVqtmOC96UA6srVu1aJVTRHoUsKqVyI3ttQpe2J-N8fWLbE0r8tfd8y1PuMeFOiXu0etWJQ44dZ5wXjFesqQSr6aAk50rLXgy8ZVxnFdOTREPXENT5U-67DW6_nEJSGgwx_FKmh40nq_UGJcWXSxyd7z44-zkEZ_OttG6r6wdSvEuw">