; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes='require<loops>,gvn' -S | FileCheck -check-prefix=CHECK-PRE %s
; RUN: opt < %s -passes='require<loops>,gvn,sccp' -S | FileCheck -check-prefix=CHECK-SCCP %s

@b = external global i32, align 4

define void @main(i1 %cond) {
; CHECK-PRE-LABEL: @main(
; CHECK-PRE-NEXT:  entry:
; CHECK-PRE-NEXT:    store i32 0, ptr @b, align 4
; CHECK-PRE-NEXT:    br label [[WHILE_BODY3:%.*]]
; CHECK-PRE:       while.cond.loopexit.loopexit:
; CHECK-PRE-NEXT:    ret void
; CHECK-PRE:       while.body3:
; CHECK-PRE-NEXT:    [[TMP0:%.*]] = phi i32 [ [[TMP1:%.*]], [[IF_END:%.*]] ], [ 0, [[ENTRY:%.*]] ]
; CHECK-PRE-NEXT:    [[TOBOOL4_NOT:%.*]] = icmp eq i32 [[TMP0]], 0
; CHECK-PRE-NEXT:    br i1 [[TOBOOL4_NOT]], label [[IF_END]], label [[IF_THEN:%.*]]
; CHECK-PRE:       if.then:
; CHECK-PRE-NEXT:    tail call void @foo()
; CHECK-PRE-NEXT:    [[DOTPRE:%.*]] = load i32, ptr @b, align 4
; CHECK-PRE-NEXT:    br label [[IF_END]]
; CHECK-PRE:       if.end:
; CHECK-PRE-NEXT:    [[TMP1]] = phi i32 [ [[DOTPRE]], [[IF_THEN]] ], [ 0, [[WHILE_BODY3]] ]
; CHECK-PRE-NEXT:    br i1 [[COND:%.*]], label [[WHILE_COND_LOOPEXIT_LOOPEXIT:%.*]], label [[WHILE_BODY3]]
;
; CHECK-SCCP-LABEL: @main(
; CHECK-SCCP-NEXT:  entry:
; CHECK-SCCP-NEXT:    store i32 0, ptr @b, align 4
; CHECK-SCCP-NEXT:    br label [[WHILE_BODY3:%.*]]
; CHECK-SCCP:       while.cond.loopexit.loopexit:
; CHECK-SCCP-NEXT:    ret void
; CHECK-SCCP:       while.body3:
; CHECK-SCCP-NEXT:    br label [[IF_END:%.*]]
; CHECK-SCCP:       if.end:
; CHECK-SCCP-NEXT:    br i1 [[COND:%.*]], label [[WHILE_COND_LOOPEXIT_LOOPEXIT:%.*]], label [[WHILE_BODY3]]
;
entry:
  store i32 0, ptr @b
  br label %while.body3.lr.ph

while.cond.loopexit.loopexit:                     ; preds = %if.end
  ret void

while.body3.lr.ph:                                ; preds = %while.cond1.preheader
  %0 = load i32, ptr @b, align 4
  %1 = icmp eq i32 %0, 0
  br label %while.body3

while.body3:                                      ; preds = %if.end, %while.body3.lr.ph
  %2 = load i32, ptr @b, align 4
  %tobool4.not = icmp eq i32 %2, 0
  br i1 %tobool4.not, label %if.end, label %if.then

if.then:                                          ; preds = %while.body3
  tail call void @foo()
  br label %if.end

if.end:                                           ; preds = %if.then, %while.body3
  br i1 %cond, label %while.cond.loopexit.loopexit, label %while.body3
}

declare void @foo()

