; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=inline -S < %s | FileCheck %s
; RUN: opt -passes='module-inline' -S < %s | FileCheck %s

define dso_local i32 @main() {
; CHECK-LABEL: @main(
; CHECK-NEXT:  bb:
; CHECK-NEXT:    [[I_I:%.*]] = alloca i32, align 4
; CHECK-NEXT:    [[I1_I:%.*]] = alloca i32, align 4
; CHECK-NEXT:    [[I:%.*]] = alloca i32, align 4
; CHECK-NEXT:    store i32 0, ptr [[I]], align 4
; CHECK-NEXT:    call void @llvm.lifetime.start.p0(ptr [[I_I]])
; CHECK-NEXT:    call void @llvm.lifetime.start.p0(ptr [[I1_I]])
; CHECK-NEXT:    store i32 0, ptr [[I1_I]], align 4
; CHECK-NEXT:    [[I2_I:%.*]] = load i32, ptr [[I1_I]], align 4
; CHECK-NEXT:    callbr void asm sideeffect "", "r,!i,!i,~{dirflag},~{fpsr},~{flags}"(i32 [[I2_I]])
; CHECK-NEXT:    to label [[BB3_I:%.*]] [label [[BB5_I:%.*]], label %bb4.i]
; CHECK:       bb3.i:
; CHECK-NEXT:    store i32 0, ptr [[I_I]], align 4
; CHECK-NEXT:    br label [[T32_EXIT:%.*]]
; CHECK:       bb4.i:
; CHECK-NEXT:    store i32 1, ptr [[I_I]], align 4
; CHECK-NEXT:    br label [[T32_EXIT]]
; CHECK:       bb5.i:
; CHECK-NEXT:    store i32 2, ptr [[I_I]], align 4
; CHECK-NEXT:    br label [[T32_EXIT]]
; CHECK:       t32.exit:
; CHECK-NEXT:    [[I7_I:%.*]] = load i32, ptr [[I_I]], align 4
; CHECK-NEXT:    call void @llvm.lifetime.end.p0(ptr [[I_I]])
; CHECK-NEXT:    call void @llvm.lifetime.end.p0(ptr [[I1_I]])
; CHECK-NEXT:    ret i32 [[I7_I]]
;
bb:
  %i = alloca i32, align 4
  store i32 0, ptr %i, align 4
  %i1 = call i32 @t32(i32 0)
  ret i32 %i1
}

define internal i32 @t32(i32 %arg) {
bb:
  %i = alloca i32, align 4
  %i1 = alloca i32, align 4
  store i32 %arg, ptr %i1, align 4
  %i2 = load i32, ptr %i1, align 4
  callbr void asm sideeffect "", "r,!i,!i,~{dirflag},~{fpsr},~{flags}"(i32 %i2)
  to label %bb3 [label %bb5, label %bb4]

bb3:                                              ; preds = %bb
  store i32 0, ptr %i, align 4
  br label %bb6

bb4:                                              ; preds = %bb
  store i32 1, ptr %i, align 4
  br label %bb6

bb5:                                              ; preds = %bb
  store i32 2, ptr %i, align 4
  br label %bb6

bb6:                                              ; preds = %bb5, %bb4, %bb3
  %i7 = load i32, ptr %i, align 4
  ret i32 %i7
}
