; RUN: opt -S %s -passes='function(instcombine),sample-profile' -sample-profile-file=%S/Inputs/einline.prof | FileCheck %s

; Checks if both call and invoke can be inlined early if their inlined
; instances are hot in profile.

target triple = "x86_64-unknown-linux-gnu"

@_ZTIi = external constant ptr

; Function Attrs: uwtable
define void @_Z3foov() #0 personality ptr @__gxx_personality_v0 !dbg !6 {
  %1 = alloca ptr
  %2 = alloca i32
  %3 = alloca i32, align 4
; CHECK: call void @no_inline
  call void @no_inline(), !dbg !16
; CHECK-NOT: call
  call void @_ZL3barv(), !dbg !9
; CHECK-NOT: invoke
  invoke void @_ZL3barv()
          to label %4 unwind label %5, !dbg !10

; <label>:4:
  ret void

; <label>:5:
  %6 = landingpad { ptr, i32 }
          catch ptr @_ZTIi
  ret void
}

; Function Attrs: nounwind uwtable
define internal void @_ZL3barv() #0 !dbg !12 {
  ret void
}

; CHECK-LABEL: @recursive
define void @recursive() #0 !dbg !13 {
; Recursive calls should not be early-inlined.
; CHECK-NOT: call void @recursive
; CHECK: call void @recursive
; CHECK: call void @recursive
; CHECK-NOT: call void @recursive
; CHECK: ret
  call void @recursive(), !dbg !14
  call void @recursive(), !dbg !15
  ret void
}

; The callee has mismatch attributes to the caller, it should not be inlined
define void @no_inline() #1 !dbg !17 {
  ret void
}

declare i32 @__gxx_personality_v0(...)

attributes #0 = {"target-features"="+sse4.1" "use-sample-profile"}
attributes #1 = {"target-features"="+sse4.2" "use-sample-profile"}

!llvm.dbg.cu = !{!0}
!18 = !{null}
!19 = !DISubroutineType(types: !18)
!llvm.module.flags = !{!3, !4}

!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1)
!1 = !DIFile(filename: "a", directory: "b/")
!3 = !{i32 2, !"Dwarf Version", i32 4}
!4 = !{i32 2, !"Debug Info Version", i32 3}
!6 = distinct !DISubprogram(linkageName: "_Z3foov", scope: !1, file: !1, line: 5, scopeLine: 5, type: !19, unit: !0)
!9 = !DILocation(line: 6, column: 3, scope: !6)
!10 = !DILocation(line: 8, column: 5, scope: !11)
!11 = distinct !DILexicalBlock(scope: !6, file: !1, line: 7, column: 7)
!12 = distinct !DISubprogram(linkageName: "_ZL3barv", scope: !1, file: !1, line: 20, scopeLine: 20, type: !19, unit: !0)
!13 = distinct !DISubprogram(linkageName: "recursive", scope: !1, file: !1, line: 20, scopeLine: 20, type: !19, unit: !0)
!14 = !DILocation(line: 21, column: 3, scope: !13)
!15 = !DILocation(line: 22, column: 3, scope: !13)
!16 = !DILocation(line: 7, column: 3, scope: !6)
!17 = distinct !DISubprogram(linkageName: "no_inline", scope: !1, file: !1, line: 20, scopeLine: 20, type: !19, unit: !0)
