; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3
; RUN: opt < %s -loop-reduce -S | FileCheck %s

; Provide legal integer types.
target datalayout = "n8:16:32:64"

@d = common global i32 0, align 4

define void @fn2(i32 %x) nounwind uwtable {
; CHECK-LABEL: define void @fn2(
; CHECK-SAME: i32 [[X:%.*]]) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT:  entry:
; CHECK-NEXT:    br label [[FOR_COND:%.*]]
; CHECK:       for.cond:
; CHECK-NEXT:    [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[FOR_COND]] ], [ -1, [[ENTRY:%.*]] ]
; CHECK-NEXT:    [[TOBOOL:%.*]] = icmp eq i32 [[X]], 0
; CHECK-NEXT:    [[LSR_IV_NEXT]] = add i32 [[LSR_IV]], 1
; CHECK-NEXT:    br i1 [[TOBOOL]], label [[FOR_COND]], label [[FOR_END:%.*]]
; CHECK:       for.end:
; CHECK-NEXT:    [[TMP1:%.*]] = load i32, ptr @d, align 4
; CHECK-NEXT:    [[TMP2:%.*]] = load i32, ptr @d, align 4
; CHECK-NEXT:    [[TMP0:%.*]] = sub i32 [[TMP1]], [[TMP2]]
; CHECK-NEXT:    [[TOBOOL26:%.*]] = icmp eq i32 [[X]], 0
; CHECK-NEXT:    br i1 [[TOBOOL26]], label [[FOR_END5:%.*]], label [[FOR_BODY_LR_PH:%.*]]
; CHECK:       for.body.lr.ph:
; CHECK-NEXT:    [[TOBOOL3:%.*]] = icmp ne i32 [[TMP0]], [[LSR_IV_NEXT]]
; CHECK-NEXT:    br label [[FOR_END5]]
; CHECK:       for.end5:
; CHECK-NEXT:    ret void
;
entry:
  br label %for.cond

for.cond:
  %g.0 = phi i32 [ 0, %entry ], [ %dec, %for.cond ]
  %tobool = icmp eq i32 %x, 0
  %dec = add nsw i32 %g.0, -1
  br i1 %tobool, label %for.cond, label %for.end

for.end:
  %tmp1 = load i32, ptr @d, align 4
  %add = add nsw i32 %tmp1, %g.0
  %tmp2 = load i32, ptr @d, align 4
  %tobool26 = icmp eq i32 %x, 0
  br i1 %tobool26, label %for.end5, label %for.body.lr.ph

for.body.lr.ph:
  %tobool3 = icmp ne i32 %tmp2, %add
  br label %for.end5

for.end5:
  ret void
}


