; RUN: opt -S -partial-inliner -max-num-inline-blocks=2 -skip-partial-inlining-cost-analysis  < %s  | FileCheck %s
; RUN: opt -S -passes=partial-inliner -max-num-inline-blocks=2  -skip-partial-inlining-cost-analysis < %s  | FileCheck %s

define i32 @test(i32 %arg) local_unnamed_addr #0 {
bb:
  %tmp = tail call i32 (...) @bar() #1
  %tmp1 = icmp slt i32 %arg, 0
  br i1 %tmp1, label %bb6, label %bb2

bb2:                                              ; preds = %bb
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  %tmp3 = tail call i32 (...) @bar() #1
  %tmp4 = icmp eq i32 %tmp3, 10
  br i1 %tmp4, label %bb6, label %bb5

bb5:                                              ; preds = %bb2
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  tail call void (...) @foo() #1
  br label %bb6

bb6:                                              ; preds = %bb5, %bb2, %bb
  %tmp7 = phi i32 [ 1, %bb5 ], [ 0, %bb ], [ 1, %bb2 ]
  ret i32 %tmp7
}

; Function Attrs: nounwind uwtable
declare i32 @bar(...) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare void @foo(...) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 {
; CHECK-LABEL: @dummy_caller
; CHECK: codeRepl.i:
; CHECK:  call void @test.1.bb2()
; CHECK-NOT: load
; CHECK  br
bb:
  %tmp = tail call i32 @test(i32 %arg)
  ret i32 %tmp
}

; CHECK-LABEL: define internal void @test.1.bb2()
; CHECK: .exitStub:
; CHECK-NOT:  store i32 %tmp7, i32* %tmp7.out
; CHECK: ret

attributes #0 = { nounwind uwtable }
attributes #1 = { nounwind }

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"clang version 5.0.0 (trunk 303574)"}
