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

    <tr>
        <th>Summary</th>
        <td>
            [DAG] Infinite loop in DAGCombiner::Run
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86
      </td>
    </tr>

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

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

<pre>
    Compiling the following code results in an infinite loop in `DAGCombiner::Run`:

```
define void @_Z1sv(<2 x float> %0, <2 x float> %1, <8 x i1> %shuffle108) #0 {
entry:
  br label %for.body.i

for.body.i:                                       ; preds = %for.body.i, %entry
  %2 = phi <8 x float> [ zeroinitializer, %entry ], [ %3, %for.body.i ]
  %shuffle111 = shufflevector <2 x float> %0, <2 x float> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1>
  %shuffle112 = shufflevector <2 x float> %1, <2 x float> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1>
  %3 = select <8 x i1> %shuffle108, <8 x float> %shuffle111, <8 x float> %shuffle112
  %4 = shufflevector <8 x float> zeroinitializer, <8 x float> %2, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
  %5 = select <8 x i1> zeroinitializer, <8 x float> zeroinitializer, <8 x float> %2
  br label %for.body.i
}

attributes #0 = { "target-cpu"="btver2" }
```
https://godbolt.org/z/Ef5cGjnGP
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNVU1z2yAQ_TXShYmHD335oENip5neOj11eumAhCxSLDSA3Ca_voss24qrNu6tHox3H7D7eMBamPql3Jh9r7Tqdsi3EjVGa_MjeJWpJbLSDdo7pDrEO-gb1SkvkTamD1iU4e39E0QQqpM2YvfQPg8dwMHG2wifekCObXRrCYEkOhhVoyjB374Sd4hoEbENRT9Row33EXtEEU1xRDdoAScTXgCuyAS6dmgaLQkuIroGgGEU5Q_HlLLz9uXMCiFhkeZC6rCuMXYlQIuVmnOeoQwW3PSJ2APqrawdWNur0IEwTY88JhLg03Fm36rTbi67TB_Qq7QmSK64VmDPY8D4dvRhGmBsGrskHCdcEp3EIWTMOLkHWXljlxReVH6Jz3QIjI4L2QYsNC4OBjkZ_4iwxyXq9Dbq5P-hzo6MpQayf72vm9_Pf35m702gs5zJskrFbWrMw9P3VVqfDHpW4CxKcobYycrOUPpWqPSPQt1A9dbd3PL28-28CHDvrRKDl26qJ-FZ5-HFUc_tTvq7qh_AARx64Q_SghBwT89h3la-1vvehTJEP0DbmVoY7VfG7sB7he9jk1ZPz93Tp1iWJMuKlBKcJ3FdsnrN1jz2ymtZwpuHugvvG328LslL9TgerC6vMivfDmJVmT04Wh9OP3e9Nc9wBOAq5wbpwEjXGLO4LYssy3FNBeeFSNJU1DzHglek4VlRVUUWj6K6wC5owavvsqsh45ciCwql21iVFFMK1zklCU5YsmJp3eCE5lWTVVI0BP4M5J4rvQpcgiyxLUdaYtg5GNTKeXcZ5M6pXSdHQUJ8PvjW2NLspe1IPG6gHNn_AhIQ66A">