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

    <tr>
        <th>Summary</th>
        <td>
            [LoopVectorize] "Cannot get condition of an uncond branch!" assert triggered on a simple loop
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            loopoptim,
            vectorization
      </td>
    </tr>

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

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

<pre>
    The following reduced IR crashes with
```
/root/llvm-project/llvm/include/llvm/IR/Instructions.h:3170: llvm::Value* llvm::BranchInst::getCondition() const: Assertion `isConditional() && "Cannot get condition of an uncond branch!"' failed.
```
when run under `opt -passes=loop-vectorize`:
```
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() {
entry:
  br label %header

header:                            ; preds = %loopexit, %entry
  %indvars.iv3586 = phi i64 [ %indvars.iv.next3587, %loopexit ], [ 2, %entry ]
  %local_10_50637.us.us3529 = phi i32 [ %1, %loopexit ], [ -202, %entry ]
  %0 = trunc i64 %indvars.iv3586 to i32
  %1 = add i32 %local_10_50637.us.us3529, %0
  %2 = trunc i32 %1 to i8
  br label %body

body:                             ; preds = %body, %header
  %indvars.iv3584 = phi i64 [ %indvars.iv.next3585, %body ], [ 1, %header ]
  %3 = phi i8 [ %4, %body ], [ undef, %header ]
  %4 = sub i8 %3, %2
  %5 = and i32 undef, 31
  %indvars.iv.next3585 = add nuw nsw i64 %indvars.iv3584, 1
  %6 = icmp ugt i64 %indvars.iv3584, 83
  br i1 %6, label %loopexit, label %body

loopexit:                  ; preds = %body
  %indvars.iv.next3587 = add nuw nsw i64 %indvars.iv3586, 1
  br label %header
}
```
Appears to be a recent regression, haven't yet bisected it to the problematic commit.
Godbolt link: https://godbolt.org/z/449Ke7q9M
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVl2ToygU_TXmhTKloNF-yEO6Uz01tbsvs1vz2oWCyg4BRyDpnl-_F9TE7k5SsykiAvee-3GAa6XZ2_afjqNGS6lPQrVo4MzVnKGv31A9UNNxg07CdlGyj5JdtEmmNg7x86C1hU7K4yHuB_0vr-chdELV0jF-mfj6zT-UsYOrrdDKrLuI7EhaJNChIER20L5T6UBtOfU4UFV3Xncct9w-acWEh4lwGeEHVOtxFe2M4YNfQOCqMGc5KifJCG-gQYefqFLaIkDz6qMY0g2iCjnlZ1AVDEc4BekIF6ihQnK2vpqQU8cVGpzXZXzw1nVvUdxTcMhEZC-17uMj5EgP4hf3ahDLNSBLB-8So5ZK-qadRaDt_eWxzwePexxyRnB4-GH6fujfNll4xGJ-aUqvlOIyVqV_2cw6sPZ3mBZ-GvTnhXL6A2hYwz4LSxftIHrJZ_dey80LYDn1Q-mTiqVQ7jVulTtrjU_GG6E4OmrBUJQljdYzMcXjKMGVHd7O2UHAApK04hKM5B2nkN0l3jQD1N_5ReQR9bC9zeRs7tngrwI27JMfjiYnezAWih3pYNbiSPJyE5T6TiBIJoryx_cSa8VfLYgVE9YMDZL7MAUKeGknLFxsSV1T-ZImL3myIcXaGWgk9wmZrRI8W03v2Ihxcs9MEvDg9Kl6jONTlFZ7UwuVNKhQxkYXbrs6mU0WunhpbtROg4XyGq0VXEZLUsP4PqWfOQ1KoyfLbfKZ0Oz3CM0nMI-7THT6zsiHNJMLdjlDZzeA_E3R3AMbHTWuCmAAPgkvScpHktRI0hmSpFejP8d2pla5E1LmdHVPBMeXQONREPWhR661t3VKsmBZpEHVz58JX56_m7vgLHRtJ1yn_17MxW_FvHkX8827p9hfvbx3fc8Byu_0iiMKJbWGwwhdO3BjQr16Qh09cngpLHqDW7QSBqoClF04zqBmoSRDNa0kP1AraihNh4OwU835olmlpUVwuf7wWems7Y2_KvEztHZcXeuhhdEv-GfZwx-8-Pnw14ptCXsgD3RlhZV8C9vvT8ju93M9yvf_vyQiGoqtrwNty4ELBNIUGXHwZcGzt3KD3H5wEr4oXLWGsC7fBh8-IYQxDmomfs6zIstX3bbBeYl5mjNcV7hoWN3kWUPyhDccImRkFTgyPipwyxuG2isOoWr7A4PnukvHTwYM4a7EFi5MnGRJhuFkpcW6qXNMU5KWpMBlRROoTsCBkGvvnk_qatgGTyvXGliUwlhzWYRkiFbxkFuPT53t9LBlVAlJD3IVotqGkP4D3jqztw">