; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve.fp -verify-machineinstrs -arm-memtransfer-tploop=force-enabled %s -o - | FileCheck %s

; In this test, the successors of various blocks were becoming invalid after
; ifcvt as the blocks did not properly fall through to the successor after a
; WhileLoopStart

@arr_183 = external dso_local local_unnamed_addr global [20 x [23 x [19 x i8]]], align 1
define i32 @a(i8 zeroext %b, ptr nocapture readonly %c, ptr nocapture readonly %d) {
; CHECK-LABEL: a:
; CHECK:       @ %bb.0: @ %entry
; CHECK-NEXT:    .save {r4, r5, r7, lr}
; CHECK-NEXT:    push {r4, r5, r7, lr}
; CHECK-NEXT:    cmp r0, #2
; CHECK-NEXT:    bls.w .LBB0_12
; CHECK-NEXT:  @ %bb.1: @ %for.body.us.preheader
; CHECK-NEXT:    movw r5, :lower16:arr_183
; CHECK-NEXT:    movs r3, #0
; CHECK-NEXT:    movt r5, :upper16:arr_183
; CHECK-NEXT:    mov.w r12, #19
; CHECK-NEXT:    vmov.i32 q0, #0x0
; CHECK-NEXT:    vmov.i32 q1, #0x0
; CHECK-NEXT:    vmov.i32 q2, #0x0
; CHECK-NEXT:    vmov.i32 q3, #0x0
; CHECK-NEXT:    b .LBB0_3
; CHECK-NEXT:  .LBB0_2: @ %land.end.us.3
; CHECK-NEXT:    @ in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT:    movs r3, #1
; CHECK-NEXT:  .LBB0_3: @ %for.body.us
; CHECK-NEXT:    @ =>This Loop Header: Depth=1
; CHECK-NEXT:    @ Child Loop BB0_4 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_6 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_8 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_11 Depth 2
; CHECK-NEXT:    ldr.w r0, [r2, r3, lsl #2]
; CHECK-NEXT:    cmp r0, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r0, [r1, r3]
; CHECK-NEXT:    moveq r0, #0
; CHECK-NEXT:    mla r3, r3, r12, r5
; CHECK-NEXT:    add r3, r0
; CHECK-NEXT:    rsb.w r0, r0, #108
; CHECK-NEXT:    wlstp.8 lr, r0, .LBB0_5
; CHECK-NEXT:  .LBB0_4: @ Parent Loop BB0_3 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q0, [r3], #16
; CHECK-NEXT:    letp lr, .LBB0_4
; CHECK-NEXT:  .LBB0_5: @ %land.end.us
; CHECK-NEXT:    @ in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT:    ldr r0, [r2, #4]
; CHECK-NEXT:    cmp r0, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r0, [r1, #1]
; CHECK-NEXT:    moveq r0, #0
; CHECK-NEXT:    adds r3, r5, r0
; CHECK-NEXT:    rsb.w r0, r0, #108
; CHECK-NEXT:    adds r3, #19
; CHECK-NEXT:    wlstp.8 lr, r0, .LBB0_7
; CHECK-NEXT:  .LBB0_6: @ Parent Loop BB0_3 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q1, [r3], #16
; CHECK-NEXT:    letp lr, .LBB0_6
; CHECK-NEXT:  .LBB0_7: @ %land.end.us.1
; CHECK-NEXT:    @ in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT:    ldr r0, [r2, #4]
; CHECK-NEXT:    cmp r0, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r0, [r1, #1]
; CHECK-NEXT:    moveq r0, #0
; CHECK-NEXT:    adds r3, r5, r0
; CHECK-NEXT:    rsb.w r0, r0, #108
; CHECK-NEXT:    adds r3, #19
; CHECK-NEXT:    wlstp.8 lr, r0, .LBB0_9
; CHECK-NEXT:  .LBB0_8: @ Parent Loop BB0_3 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q2, [r3], #16
; CHECK-NEXT:    letp lr, .LBB0_8
; CHECK-NEXT:  .LBB0_9: @ %land.end.us.2
; CHECK-NEXT:    @ in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT:    ldr r0, [r2, #4]
; CHECK-NEXT:    cmp r0, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r0, [r1, #1]
; CHECK-NEXT:    moveq r0, #0
; CHECK-NEXT:    adds r3, r5, r0
; CHECK-NEXT:    rsb.w r0, r0, #108
; CHECK-NEXT:    add.w r4, r0, #15
; CHECK-NEXT:    adds r3, #19
; CHECK-NEXT:    lsrs r4, r4, #4
; CHECK-NEXT:    cmp.w r4, #0
; CHECK-NEXT:    beq .LBB0_2
; CHECK-NEXT:  @ %bb.10: @ %land.end.us.2
; CHECK-NEXT:    @ in Loop: Header=BB0_3 Depth=1
; CHECK-NEXT:    dlstp.8 lr, r0
; CHECK-NEXT:  .LBB0_11: @ Parent Loop BB0_3 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q3, [r3], #16
; CHECK-NEXT:    letp lr, .LBB0_11
; CHECK-NEXT:    b .LBB0_2
; CHECK-NEXT:  .LBB0_12:
; CHECK-NEXT:    movw r12, :lower16:arr_183
; CHECK-NEXT:    vmov.i32 q0, #0x0
; CHECK-NEXT:    movt r12, :upper16:arr_183
; CHECK-NEXT:    vmov.i32 q1, #0x0
; CHECK-NEXT:    vmov.i32 q2, #0x0
; CHECK-NEXT:    vmov.i32 q3, #0x0
; CHECK-NEXT:    b .LBB0_14
; CHECK-NEXT:  .LBB0_13: @ %for.body.lr.ph.3
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    ldr r3, [r2, #4]
; CHECK-NEXT:    cmp r3, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r3, [r1, #1]
; CHECK-NEXT:    moveq r3, #0
; CHECK-NEXT:    add.w r5, r12, r3
; CHECK-NEXT:    rsb.w r3, r3, #108
; CHECK-NEXT:    add.w r4, r5, #19
; CHECK-NEXT:    wlstp.8 lr, r3, .LBB0_14
; CHECK-NEXT:    b .LBB0_24
; CHECK-NEXT:  .LBB0_14: @ %for.cond
; CHECK-NEXT:    @ =>This Loop Header: Depth=1
; CHECK-NEXT:    @ Child Loop BB0_16 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_19 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_22 Depth 2
; CHECK-NEXT:    @ Child Loop BB0_24 Depth 2
; CHECK-NEXT:    cmp r0, #2
; CHECK-NEXT:    blo .LBB0_17
; CHECK-NEXT:  @ %bb.15: @ %for.body.lr.ph
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    ldr r3, [r2, #4]
; CHECK-NEXT:    cmp r3, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r3, [r1, #1]
; CHECK-NEXT:    moveq r3, #0
; CHECK-NEXT:    add.w r5, r12, r3
; CHECK-NEXT:    rsb.w r3, r3, #108
; CHECK-NEXT:    add.w r4, r5, #19
; CHECK-NEXT:    wlstp.8 lr, r3, .LBB0_17
; CHECK-NEXT:  .LBB0_16: @ Parent Loop BB0_14 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q0, [r4], #16
; CHECK-NEXT:    letp lr, .LBB0_16
; CHECK-NEXT:  .LBB0_17: @ %for.cond.backedge
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    cmp r0, #2
; CHECK-NEXT:    blo .LBB0_20
; CHECK-NEXT:  @ %bb.18: @ %for.body.lr.ph.1
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    ldr r3, [r2, #4]
; CHECK-NEXT:    cmp r3, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r3, [r1, #1]
; CHECK-NEXT:    moveq r3, #0
; CHECK-NEXT:    add.w r5, r12, r3
; CHECK-NEXT:    rsb.w r3, r3, #108
; CHECK-NEXT:    add.w r4, r5, #19
; CHECK-NEXT:    wlstp.8 lr, r3, .LBB0_20
; CHECK-NEXT:  .LBB0_19: @ Parent Loop BB0_14 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q1, [r4], #16
; CHECK-NEXT:    letp lr, .LBB0_19
; CHECK-NEXT:  .LBB0_20: @ %for.cond.backedge.1
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    cmp r0, #2
; CHECK-NEXT:    blo .LBB0_23
; CHECK-NEXT:  @ %bb.21: @ %for.body.lr.ph.2
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    ldr r3, [r2, #4]
; CHECK-NEXT:    cmp r3, #0
; CHECK-NEXT:    ite ne
; CHECK-NEXT:    ldrbne r3, [r1, #1]
; CHECK-NEXT:    moveq r3, #0
; CHECK-NEXT:    add.w r5, r12, r3
; CHECK-NEXT:    rsb.w r3, r3, #108
; CHECK-NEXT:    add.w r4, r5, #19
; CHECK-NEXT:    wlstp.8 lr, r3, .LBB0_23
; CHECK-NEXT:  .LBB0_22: @ Parent Loop BB0_14 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q2, [r4], #16
; CHECK-NEXT:    letp lr, .LBB0_22
; CHECK-NEXT:  .LBB0_23: @ %for.cond.backedge.2
; CHECK-NEXT:    @ in Loop: Header=BB0_14 Depth=1
; CHECK-NEXT:    cmp r0, #2
; CHECK-NEXT:    blo .LBB0_14
; CHECK-NEXT:    b .LBB0_13
; CHECK-NEXT:  .LBB0_24: @ Parent Loop BB0_14 Depth=1
; CHECK-NEXT:    @ => This Inner Loop Header: Depth=2
; CHECK-NEXT:    vstrb.8 q3, [r4], #16
; CHECK-NEXT:    letp lr, .LBB0_24
; CHECK-NEXT:    b .LBB0_14
entry:
  %cmp = icmp ugt i8 %b, 2  ; avoid following BB optimizing away through the domination
  br i1 %cmp, label %for.body.us.preheader, label %for.cond.preheader

for.cond.preheader:                               ; preds = %entry
  %cmp43 = icmp ugt i8 %b, 1
  %arrayidx6 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  %cmp43.1 = icmp ugt i8 %b, 1
  %arrayidx6.1 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.1 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  %cmp43.2 = icmp ugt i8 %b, 1
  %arrayidx6.2 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.2 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  %cmp43.3 = icmp ugt i8 %b, 1
  %arrayidx6.3 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.3 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  br label %for.cond

for.body.us.preheader:                            ; preds = %entry
  %arrayidx6.us.1 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.us.1 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  %arrayidx6.us.2 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.us.2 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  %arrayidx6.us.3 = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 1
  %arrayidx12.us.3 = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 1
  br label %for.body.us

for.cond:                                         ; preds = %for.cond.backedge.3, %for.cond.preheader
  br i1 %cmp43, label %for.body.lr.ph, label %for.cond.backedge

for.body.lr.ph:                                   ; preds = %for.cond
  %0 = load i32, ptr %arrayidx6, align 4
  %tobool7.not = icmp eq i32 %0, 0
  br i1 %tobool7.not, label %land.end, label %land.rhs

for.body.us:                                      ; preds = %land.end.us.3, %for.body.us.preheader
  %conv44.us = phi i32 [ 0, %for.body.us.preheader ], [ 1, %land.end.us.3 ]
  %arrayidx6.us = getelementptr inbounds [3 x i32], ptr %d, i32 0, i32 %conv44.us
  %1 = load i32, ptr %arrayidx6.us, align 4
  %tobool7.not.us = icmp eq i32 %1, 0
  br i1 %tobool7.not.us, label %land.end.us, label %land.rhs.us

land.rhs.us:                                      ; preds = %for.body.us
  %arrayidx12.us = getelementptr inbounds [3 x i8], ptr %c, i32 0, i32 %conv44.us
  %2 = load i8, ptr %arrayidx12.us, align 1
  %tobool13.us = zext i8 %2 to i32
  br label %land.end.us

land.end.us:                                      ; preds = %land.rhs.us, %for.body.us
  %3 = phi i32 [ 0, %for.body.us ], [ %tobool13.us, %land.rhs.us ]
  %scevgep45 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 %conv44.us, i32 %3
  %4 = sub nuw nsw i32 108, %3
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep45, i8 0, i32 %4, i1 false)
  %5 = load i32, ptr %arrayidx6.us.1, align 4
  %tobool7.not.us.1 = icmp eq i32 %5, 0
  br i1 %tobool7.not.us.1, label %land.end.us.1, label %land.rhs.us.1

land.rhs:                                         ; preds = %for.body.lr.ph
  %6 = load i8, ptr %arrayidx12, align 1
  %tobool13 = zext i8 %6 to i32
  br label %land.end

land.end:                                         ; preds = %land.rhs, %for.body.lr.ph
  %7 = phi i32 [ 0, %for.body.lr.ph ], [ %tobool13, %land.rhs ]
  %scevgep = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %7
  %8 = sub nuw nsw i32 108, %7
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep, i8 0, i32 %8, i1 false)
  br label %for.cond.backedge

for.cond.backedge:                                ; preds = %land.end, %for.cond
  br i1 %cmp43.1, label %for.body.lr.ph.1, label %for.cond.backedge.1

for.body.lr.ph.1:                                 ; preds = %for.cond.backedge
  %9 = load i32, ptr %arrayidx6.1, align 4
  %tobool7.not.1 = icmp eq i32 %9, 0
  br i1 %tobool7.not.1, label %land.end.1, label %land.rhs.1

land.rhs.1:                                       ; preds = %for.body.lr.ph.1
  %10 = load i8, ptr %arrayidx12.1, align 1
  %tobool13.1 = zext i8 %10 to i32
  br label %land.end.1

land.end.1:                                       ; preds = %land.rhs.1, %for.body.lr.ph.1
  %11 = phi i32 [ 0, %for.body.lr.ph.1 ], [ %tobool13.1, %land.rhs.1 ]
  %scevgep.1 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %11
  %12 = sub nuw nsw i32 108, %11
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep.1, i8 0, i32 %12, i1 false)
  br label %for.cond.backedge.1

for.cond.backedge.1:                              ; preds = %land.end.1, %for.cond.backedge
  br i1 %cmp43.2, label %for.body.lr.ph.2, label %for.cond.backedge.2

for.body.lr.ph.2:                                 ; preds = %for.cond.backedge.1
  %13 = load i32, ptr %arrayidx6.2, align 4
  %tobool7.not.2 = icmp eq i32 %13, 0
  br i1 %tobool7.not.2, label %land.end.2, label %land.rhs.2

land.rhs.2:                                       ; preds = %for.body.lr.ph.2
  %14 = load i8, ptr %arrayidx12.2, align 1
  %tobool13.2 = zext i8 %14 to i32
  br label %land.end.2

land.end.2:                                       ; preds = %land.rhs.2, %for.body.lr.ph.2
  %15 = phi i32 [ 0, %for.body.lr.ph.2 ], [ %tobool13.2, %land.rhs.2 ]
  %scevgep.2 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %15
  %16 = sub nuw nsw i32 108, %15
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep.2, i8 0, i32 %16, i1 false)
  br label %for.cond.backedge.2

for.cond.backedge.2:                              ; preds = %land.end.2, %for.cond.backedge.1
  br i1 %cmp43.3, label %for.body.lr.ph.3, label %for.cond.backedge.3

for.body.lr.ph.3:                                 ; preds = %for.cond.backedge.2
  %17 = load i32, ptr %arrayidx6.3, align 4
  %tobool7.not.3 = icmp eq i32 %17, 0
  br i1 %tobool7.not.3, label %land.end.3, label %land.rhs.3

land.rhs.3:                                       ; preds = %for.body.lr.ph.3
  %18 = load i8, ptr %arrayidx12.3, align 1
  %tobool13.3 = zext i8 %18 to i32
  br label %land.end.3

land.end.3:                                       ; preds = %land.rhs.3, %for.body.lr.ph.3
  %19 = phi i32 [ 0, %for.body.lr.ph.3 ], [ %tobool13.3, %land.rhs.3 ]
  %scevgep.3 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %19
  %20 = sub nuw nsw i32 108, %19
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep.3, i8 0, i32 %20, i1 false)
  br label %for.cond.backedge.3

for.cond.backedge.3:                              ; preds = %land.end.3, %for.cond.backedge.2
  br label %for.cond

land.rhs.us.1:                                    ; preds = %land.end.us
  %21 = load i8, ptr %arrayidx12.us.1, align 1
  %tobool13.us.1 = zext i8 %21 to i32
  br label %land.end.us.1

land.end.us.1:                                    ; preds = %land.rhs.us.1, %land.end.us
  %22 = phi i32 [ 0, %land.end.us ], [ %tobool13.us.1, %land.rhs.us.1 ]
  %scevgep45.1 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %22
  %23 = sub nuw nsw i32 108, %22
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep45.1, i8 0, i32 %23, i1 false)
  %24 = load i32, ptr %arrayidx6.us.2, align 4
  %tobool7.not.us.2 = icmp eq i32 %24, 0
  br i1 %tobool7.not.us.2, label %land.end.us.2, label %land.rhs.us.2

land.rhs.us.2:                                    ; preds = %land.end.us.1
  %25 = load i8, ptr %arrayidx12.us.2, align 1
  %tobool13.us.2 = zext i8 %25 to i32
  br label %land.end.us.2

land.end.us.2:                                    ; preds = %land.rhs.us.2, %land.end.us.1
  %26 = phi i32 [ 0, %land.end.us.1 ], [ %tobool13.us.2, %land.rhs.us.2 ]
  %scevgep45.2 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %26
  %27 = sub nuw nsw i32 108, %26
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep45.2, i8 0, i32 %27, i1 false)
  %28 = load i32, ptr %arrayidx6.us.3, align 4
  %tobool7.not.us.3 = icmp eq i32 %28, 0
  br i1 %tobool7.not.us.3, label %land.end.us.3, label %land.rhs.us.3

land.rhs.us.3:                                    ; preds = %land.end.us.2
  %29 = load i8, ptr %arrayidx12.us.3, align 1
  %tobool13.us.3 = zext i8 %29 to i32
  br label %land.end.us.3

land.end.us.3:                                    ; preds = %land.rhs.us.3, %land.end.us.2
  %30 = phi i32 [ 0, %land.end.us.2 ], [ %tobool13.us.3, %land.rhs.us.3 ]
  %scevgep45.3 = getelementptr [20 x [23 x [19 x i8]]], ptr @arr_183, i32 0, i32 0, i32 1, i32 %30
  %31 = sub nuw nsw i32 108, %30
  call void @llvm.memset.p0.i32(ptr align 1 %scevgep45.3, i8 0, i32 %31, i1 false)
  br label %for.body.us
}

declare void @llvm.memset.p0.i32(ptr, i8, i32, i1)
