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

    <tr>
        <th>Summary</th>
        <td>
            Verifier error after SLPVectorizer: PHI node has multiple entries
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:SLPVectorizer,
            llvm:crash
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            alexey-bataev
      </td>
    </tr>

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

<pre>
    The following IR produces verifier error when run with `-passes=slp-vectorizer -slp-threshold=-99999`
```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @test(i32 %arg) {
bb:
  %zext = zext i32 %arg to i64
  %zext1 = zext i32 0 to i64
  br label %bb2

bb2: ; preds = %bb
  switch i32 0, label %bb10 [
    i32 0, label %bb9
 i32 11, label %bb9
    i32 1, label %bb4
  ]

bb3: ; No predecessors!
  switch i32 0, label %bb10 [
    i32 18, label %bb7
    i32 1, label %bb7
    i32 0, label %bb10
  ]

bb4:                                              ; preds = %bb2
  %phi = phi i64 [ %zext, %bb2 ]
  %phi5 = phi i64 [ %zext1, %bb2 ]
  %getelementptr = getelementptr i32, ptr addrspace(1) null, i64 %phi
  %getelementptr6 = getelementptr i32, ptr addrspace(1) null, i64 %phi5
  ret void

bb7: ; preds = %bb3, %bb3
  %phi8 = phi i64 [ %zext, %bb3 ], [ %zext, %bb3 ]
  br label %bb9

bb9: ; preds = %bb7, %bb2, %bb2
  ret void

bb10: ; preds = %bb3, %bb3, %bb2
  ret void
}
```
The error is:
```
PHI node has multiple entries for the same basic block with different incoming values!
  %phi8 = phi i64 [ %2, %bb3 ], [ %3, %bb3 ]
label %bb3
  %3 = zext i32 %1 to i64
  %2 = zext i32 %1 to i64
LLVM ERROR: Broken module found, compilation aborted!
```

Godbolt link: https://godbolt.org/z/5f1xT9xs8
Bisect pointed at 18473eb108e29c7c9d9fcb5d0d8c271948aca330
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVtty4ygTfhp8QynFQbKkC18449__TlV2dyozldstJFoWGwwqQI6Tp99C8kmeONmDykYNfdDXdEO38F5tDMACZfeIMaFhD69JJYKAHWIMZauZ6ENr3UIKo7TY6lll5eviRwu4sVrbF2U2-Osj7pyVfQ0e78CpRoHD4Jx1-KUFg11v8IsKLUZzknTCe_CIr7zukh3UwTr1Bg4ncR5aB761WiK-Ssr4oDlBZIXIMhLDT-vddlwKwm0gYCmC0OLV9gEjvsKIMUi2iC8h6VhOEF9yNgxxSqfTSM3TYUjUiaCsQHxJWZE0BTlQZliaH9XnafJ9WFZxOenYkVEc_pyNPBa38RJtcKrTcES6L-Z_zNOkN8_GvphEK9Pvk43pT1rjKKFRBvDOKolRSgL4gFihOMOIZcJtECsxyu9H4apC_KCHI_8N9uPODMRZCQeLo9NTSToVJVdSlcNaVKCjeFVNQMYpX2LE73HnQPqDj1lVHZX9iwp1O9pF7MulJUpwzMGDIH5XpjywI4_SG8yD7jX77Ga2moLmR9C_2QE31OC9dR4x-i9x0-JKKP8YW_6x25TcxB4zFv-j553osIsM6Fo1MOJbzdPo2zExIqpR_ozjqJPdUqI3tTYQQMMWTOiCG9SnK4qzqBtJIaXznagBsYLGVDe91pE5fGwAcMvw_D9bzo6mHYThAE4jkN9IeX5ynE-3qvh0f_mwU3F2k_nuYSynyMobyPJzSC6oD52k5G94-ZmtfHV1kY_TWErGWqH86d66kvn2y1dsrATcCo-3vQ7DFQomOAUeN9bh0AL2Ygu4El7VuNK2fh5rjlRNAw5MwMrUdhvr1U7oHi7P9weRYTfDwt-LyUU4LuPOf7p_6c-3L_tE6OHh6Vf8v8fH3x9jNO6dfQaDt1b2Ohbj3sgIqLbbTmkRlDVYVNYFkCdHr3Z1HP9vZWV1wFqZ52i3DaEbAsHWiK03I_fOxhqzfkNsnTV0_6Pc-2JUv1ce6oA7q0wAiUXAtEhzDhUlBbCyzutSlk1dZZLIomY5LdNC1IJzMpMLLkteihksaE4J50WZlrN2IWtoMlqQvKgFh5KXkkoo0zQrMiA0pzO1YISlhFNOU1ISdgeiIVma0gb4HBqSoZTAVih9F3uFiH2mvO9hUWSkYLMhRv7Q8gzdBF9-f_j2dOpFYvFlX87M2gnfHtoht4iLSdVvPEqJVj7481eCChoWT9MWSDQBHJ5-gC_xhzk9651eXEVChbav7mq7RWw9ABtfSefsn1AHxNaDkx6x9eDnXwEAAP__rMC5eQ">