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

    <tr>
        <th>Summary</th>
        <td>
            void llvm::InnerLoopVectorizer::fixupIVUsers(...): Assertion `isa<PHINode>(UI) && "Expected LCSSA form"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    After https://github.com/llvm/llvm-project/commit/ec37ecbc6299781ebafeaa8a41413d08578577dd
assert fails for the following IR (reduced from the big original example):
```
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-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 @foo() gc "example-gc" personality i32* ()* null {
entry:
  br label %loop

loop:
  %indvar = phi i64 [ %indvar.next, %loop ], [ 0, %entry ]
  %local = phi i32 [ %0, %loop ], [ 0, %entry ]
  %indvar.next = add nuw nsw i64 0, 1
  %0 = add i32 %local, 1
  %1 = icmp ugt i64 %indvar, 0
  br i1 %1, label %loop.exit, label %loop

loop.exit:
  unreachable

bb:
  call void null() [ "deopt"(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i8 addrspace(1)* null, i32 0, i8* null, i32 0, i32 0, i32 0, i32 %local, i32 0, i8* null, i32 0, i32 0, i32 0, i8 addrspace(1)* null, i32 0, i32 0, i32 0, i8 addrspace(1)* null, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, float 0.000000e+00, i32 0, i8 addrspace(1)* null, i32 0, i32 0, i32 0, i32 0, i32 0, i8* null, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i8 addrspace(1)* null, i32 0, i32 0, i32 0, i32 0, i32 0, float 0.000000e+00, i32 0, float 0.000000e+00, i32 0, i8* null, i32 0, i8* null) ]
  ret void
}
```
due to `%local` being used in the deopt bundle inside unreachable `bb`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9Vttu2zgQ_Rr5hbBAUfcHPThxiw1QLBYbtK8LShzJbGlSoKjE2a_fIWXHSjZAL9uuIUsznAsPj8gZtUY8NbvegSUH58YpSncRe4_XIN1hbuPOHFFR6uHy2I7WfIbOoYq2o_QCdGkJXdsVrK7LKoGW98B5xbMkS1JBq7zEqxQiovuI7vg0gXWk51JNpDeWuAPgUynzKPVA7v4kEassiLkDQXprjsGhlQMxVg5Sc0XgxI-jgojVHm_IGhX0fAXVcTuAI4I7rviTmR2J0j0mZrA9YgxsR1ZSFFIWbl5NXqpeKrJw28qL0Fc-KGHVVldeKC4xaLsPw9IPY_zFUJ3_mDTYGGJ4AdFZiUu5wDtVxV-Ya9ZftHnUWyX1fNoOen6OWu4CeqmBPBgpSJTR3hjkDOkgQxcWufCzHTpUyAh2MkibdE9EIii2I4u3l_SsFInKmyUvaGefnjklpLVE8RbQg-XKmHGNIehXV_SQWjxwG5YyHiRB1kiU31wtsYYT7pfbSza07oOKTvQ8HhAEwzWvMh2-9Oe0KbukpT-QbAUlpORCIAmPRE-PAXGITVYB9NktzHyG89orCV6yO45kHtyy9stk3peuKJVJiPDDL9iN4STdv0Zfc754XYmftQXeHXiLB2Ll2rYrHwSslt3i3_d5rywkMgFmdH5_scovMKz_vwqV58tOI-_wkFbJaq-98nt7-E1hzfwPZPhWSD8z8pcJvTLcERrT8ENYN_QXgv6et_S_CT9xgV9l8xvo_ur-rtd1yGLh98fxfGDL_ZtNTMxAnCFev-z9gpIWfJucJ-yOUofeGE4waWctsJFIPUkB66rgE2A1KGi8gSYpCkbzokiyjWhSUac13zjpFDShPIROj3Uj3d1pDfYD1ptP2O2x8_4NdjH08jSPd58-YhefkPk4jpc-THahsUuj_YRy4lF6-8dvd78bAVH6Dj0_3gUWWIGXLzzvTiOmxmV8uL2_3_lPgWMoQ2X4NgARb2armu_-LJHTNAMie5-XOa02h6YrecbqtKRtkrAk57Srs7wElrYCPXK2CeV2arAe4vwasA_4FB5Lvt_IhlHGaE2TpGJpmsV91nYZqn3alaxva-y_cETAsccRGztsbBMgtfMwoVHJyU1XI37-yEEDnKfrD_ygz1Px2R2MbQTXUvGj2gQYTVjGP6m-mW0">