; RUN: opt -hotcoldsplit -hotcoldsplit-threshold=0 -S < %s | FileCheck %s

target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.14.0"

%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.__sigset_t }
%struct.__sigset_t = type { [16 x i64] }

; Don't outline noreturn calls which aren't explicitly marked cold.

; CHECK-LABEL: define {{.*}}@foo(
; CHECK-NOT: foo.cold.1
define void @foo(i32, %struct.__jmp_buf_tag*) {
  %3 = icmp eq i32 %0, 0
  tail call void @_Z10sideeffectv()
  br i1 %3, label %5, label %4

; <label>:4:                                      ; preds = %2
  tail call void @longjmp(%struct.__jmp_buf_tag* %1, i32 0)
  unreachable

; <label>:5:                                      ; preds = %2
  ret void
}

; Do outline noreturn calls marked cold.

; CHECK-LABEL: define {{.*}}@bar(
; CHECK: call {{.*}}@bar.cold.1(
define void @bar(i32) {
  %2 = icmp eq i32 %0, 0
  tail call void @_Z10sideeffectv()
  br i1 %2, label %sink, label %exit

sink:
  tail call void @_Z10sideeffectv()
  call void @llvm.trap()
  unreachable

exit:
  ret void
}

; Do outline noreturn calls preceded by a cold call.

; CHECK-LABEL: define {{.*}}@baz(
; CHECK: call {{.*}}@baz.cold.1(
define void @baz(i32, %struct.__jmp_buf_tag*) {
  %3 = icmp eq i32 %0, 0
  tail call void @_Z10sideeffectv()
  br i1 %3, label %5, label %4

; <label>:4:                                      ; preds = %2
  call void @sink()
  tail call void @longjmp(%struct.__jmp_buf_tag* %1, i32 0)
  unreachable

; <label>:5:                                      ; preds = %2
  ret void
}

; CHECK-LABEL: define {{.*}}@bar.cold.1(
; CHECK: call {{.*}}@llvm.trap(

declare void @sink() cold

declare void @llvm.trap() noreturn cold

declare void @_Z10sideeffectv()

declare void @longjmp(%struct.__jmp_buf_tag*, i32) noreturn nounwind
