; RUN: opt < %s -loop-unroll -S | FileCheck %s
; RUN: opt < %s -passes='require<opt-remark-emit>,unroll' -S | FileCheck %s


; This should not unroll since the address of the loop header is taken.

; CHECK-LABEL: @test1(
; CHECK: store i8* blockaddress(@test1, %l1), i8** %P
; CHECK: l1:
; CHECK-NEXT: phi i32
; rdar://8287027
define i32 @test1(i8** %P) nounwind ssp {
entry:
  store i8* blockaddress(@test1, %l1), i8** %P
  br label %l1

l1:                                               ; preds = %l1, %entry
  %x.0 = phi i32 [ 0, %entry ], [ %inc, %l1 ]
  %inc = add nsw i32 %x.0, 1
  %exitcond = icmp eq i32 %inc, 3
  br i1 %exitcond, label %l2, label %l1

l2:                                               ; preds = %l1
  ret i32 0
}

; This should not unroll since the call is 'noduplicate'.

; CHECK-LABEL: @test2(
define i32 @test2(i8** %P) nounwind ssp {
entry:
  br label %l1

l1:                                               ; preds = %l1, %entry
  %x.0 = phi i32 [ 0, %entry ], [ %inc, %l1 ]
; CHECK: call void @f()
; CHECK-NOT: call void @f()
  call void @f() noduplicate
  %inc = add nsw i32 %x.0, 1
  %exitcond = icmp eq i32 %inc, 3
  br i1 %exitcond, label %l2, label %l1

l2:                                               ; preds = %l1
  ret i32 0
; CHECK: }
}

declare void @f()
