// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --include-generated-funcs --version 5
// __cfi_check_fail codegen when not all CFI checkers are enabled.

// RUN: %clang_cc1 -triple x86_64-unknown-linux -O3 -fsanitize-cfi-cross-dso \
// RUN:     -fsanitize=cfi-vcall \
// RUN:     -emit-llvm -o - %s | FileCheck %s --check-prefix=NO-MERGE

// RUN: %clang_cc1 -triple x86_64-unknown-linux -O3 -fsanitize-cfi-cross-dso \
// RUN:     -fsanitize=cfi-vcall \
// RUN:     -fsanitize-merge=cfi-vcall \
// RUN:     -emit-llvm -o - %s | FileCheck %s --check-prefix=MERGE

void caller(void (*f)(void)) {
  f();
}

// CHECK: define weak_odr hidden void @__cfi_check_fail(ptr noundef %0, ptr noundef %1)
// CHECK: store ptr %0, ptr %[[ALLOCA0:.*]], align 8
// CHECK: store ptr %1, ptr %[[ALLOCA1:.*]], align 8
// CHECK: %[[DATA:.*]] = load ptr, ptr %[[ALLOCA0]], align 8
// CHECK: %[[ADDR:.*]] = load ptr, ptr %[[ALLOCA1]], align 8
// CHECK: %[[ICMP_NOT_NULL:.*]] = icmp ne ptr %[[DATA]], null
// CHECK: br i1 %[[ICMP_NOT_NULL]], label %[[CONT0:.*]], label %[[TRAP:.*]], !prof

// CHECK: [[TRAP]]:
// CHECK-NEXT:   call void @llvm.ubsantrap(i8 2)
// CHECK-NEXT:   unreachable

// CHECK: [[CONT0]]:
// CHECK:   %[[KINDPTR:.*]] = getelementptr {{.*}} %[[DATA]], i32 0, i32 0
// CHECK:   %[[KIND:.*]] = load i8, ptr %[[KINDPTR]], align 4
// CHECK:   %[[VTVALID0:.*]] = call i1 @llvm.type.test(ptr %[[ADDR]], metadata !"all-vtables")
// CHECK:   %[[VTVALID:.*]] = zext i1 %[[VTVALID0]] to i64
// CHECK:   %[[NOT_0:.*]] = icmp ne i8 %[[KIND]], 0
// CHECK:   br i1 %[[NOT_0]], label %[[CONT1:.*]], label %[[HANDLE0:.*]], !prof

// CHECK: [[HANDLE0]]:
// CHECK:   %[[DATA0:.*]] = ptrtoint ptr %[[DATA]] to i64,
// CHECK:   %[[ADDR0:.*]] = ptrtoint ptr %[[ADDR]] to i64,
// CHECK:   call void @__ubsan_handle_cfi_check_fail_abort(i64 %[[DATA0]], i64 %[[ADDR0]], i64 %[[VTVALID]])
// CHECK:   unreachable

// CHECK: [[CONT1]]:
// CHECK:   %[[NOT_1:.*]] = icmp ne i8 %[[KIND]], 1
// CHECK:   br i1 %[[NOT_1]], label %[[CONT2:.*]], label %[[HANDLE1:.*]], !prof

// CHECK: [[HANDLE1]]:
// CHECK-NEXT:   call void @llvm.ubsantrap(i8 2)
// CHECK-NEXT:   unreachable

// CHECK: [[CONT2]]:
// CHECK:   %[[NOT_2:.*]] = icmp ne i8 %[[KIND]], 2
// CHECK:   br i1 %[[NOT_2]], label %[[CONT3:.*]], label %[[HANDLE2:.*]], !prof

// CHECK: [[HANDLE2]]:
// CHECK-NEXT:   call void @llvm.ubsantrap(i8 2)
// CHECK-NEXT:   unreachable

// CHECK: [[CONT3]]:
// CHECK:   %[[NOT_3:.*]] = icmp ne i8 %[[KIND]], 3
// CHECK:   br i1 %[[NOT_3]], label %[[CONT4:.*]], label %[[HANDLE3:.*]], !prof

// CHECK: [[HANDLE3]]:
// CHECK-NEXT:   call void @llvm.ubsantrap(i8 2)
// CHECK-NEXT:   unreachable

// CHECK: [[CONT4]]:
// CHECK:   %[[NOT_4:.*]] = icmp ne i8 %[[KIND]], 4
// CHECK:   br i1 %[[NOT_4]], label %[[CONT5:.*]], label %[[HANDLE4:.*]], !prof

// CHECK: [[HANDLE4]]:
// CHECK-NEXT:   call void @llvm.ubsantrap(i8 2)
// CHECK-NEXT:   unreachable

// CHECK: [[CONT5]]:
// CHECK:   ret void


// NO-MERGE-LABEL: define dso_local void @caller(
// NO-MERGE-SAME: ptr nofree noundef readonly captures(none) [[F:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
// NO-MERGE-NEXT:  [[ENTRY:.*:]]
// NO-MERGE-NEXT:    tail call void [[F]]() #[[ATTR5:[0-9]+]]
// NO-MERGE-NEXT:    ret void
//
//
// NO-MERGE-LABEL: define weak_odr hidden void @__cfi_check_fail(
// NO-MERGE-SAME: ptr noundef [[TMP0:%.*]], ptr noundef [[TMP1:%.*]]) #[[ATTR0]] {
// NO-MERGE-NEXT:  [[ENTRY:.*:]]
// NO-MERGE-NEXT:    [[DOTNOT:%.*]] = icmp eq ptr [[TMP0]], null, !nosanitize [[META6:![0-9]+]]
// NO-MERGE-NEXT:    br i1 [[DOTNOT]], label %[[TRAP:.*]], label %[[CONT:.*]], !prof [[PROF7:![0-9]+]], !nosanitize [[META6]]
// NO-MERGE:       [[TRAP]]:
// NO-MERGE-NEXT:    tail call void @llvm.ubsantrap(i8 2) #[[ATTR6:[0-9]+]], !nosanitize [[META6]]
// NO-MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// NO-MERGE:       [[CONT]]:
// NO-MERGE-NEXT:    [[TMP2:%.*]] = load i8, ptr [[TMP0]], align 4, !nosanitize [[META6]]
// NO-MERGE-NEXT:    switch i8 [[TMP2]], label %[[CONT6:.*]] [
// NO-MERGE-NEXT:      i8 0, label %[[HANDLER_CFI_CHECK_FAIL:.*]]
// NO-MERGE-NEXT:      i8 1, label %[[TRAP]]
// NO-MERGE-NEXT:      i8 2, label %[[TRAP]]
// NO-MERGE-NEXT:      i8 3, label %[[TRAP]]
// NO-MERGE-NEXT:      i8 4, label %[[TRAP]]
// NO-MERGE-NEXT:    ], !prof [[PROF8:![0-9]+]]
// NO-MERGE:       [[HANDLER_CFI_CHECK_FAIL]]:
// NO-MERGE-NEXT:    [[TMP3:%.*]] = tail call i1 @llvm.type.test(ptr [[TMP1]], metadata !"all-vtables"), !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP4:%.*]] = zext i1 [[TMP3]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP5:%.*]] = ptrtoint ptr [[TMP0]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP6:%.*]] = ptrtoint ptr [[TMP1]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    tail call void @__ubsan_handle_cfi_check_fail_abort(i64 [[TMP5]], i64 [[TMP6]], i64 [[TMP4]]) #[[ATTR7:[0-9]+]], !nosanitize [[META6]]
// NO-MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// NO-MERGE:       [[CONT6]]:
// NO-MERGE-NEXT:    ret void, !nosanitize [[META6]]
//
//
// NO-MERGE-LABEL: define weak void @__cfi_check(
// NO-MERGE-SAME: i64 noundef [[TMP0:%.*]], ptr noundef [[TMP1:%.*]], ptr noundef [[TMP2:%.*]]) local_unnamed_addr #[[ATTR4:[0-9]+]] align 4096 {
// NO-MERGE-NEXT:  [[ENTRY:.*:]]
// NO-MERGE-NEXT:    [[DOTNOT_I:%.*]] = icmp eq ptr [[TMP2]], null, !nosanitize [[META6]]
// NO-MERGE-NEXT:    br i1 [[DOTNOT_I]], label %[[TRAP_I:.*]], label %[[CONT_I:.*]], !prof [[PROF7]], !nosanitize [[META6]]
// NO-MERGE:       [[TRAP_I]]:
// NO-MERGE-NEXT:    tail call void @llvm.ubsantrap(i8 2) #[[ATTR6]], !nosanitize [[META6]]
// NO-MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// NO-MERGE:       [[CONT_I]]:
// NO-MERGE-NEXT:    [[TMP3:%.*]] = load i8, ptr [[TMP2]], align 4, !nosanitize [[META6]]
// NO-MERGE-NEXT:    switch i8 [[TMP3]], label %[[__CFI_CHECK_FAIL_EXIT:.*]] [
// NO-MERGE-NEXT:      i8 0, label %[[HANDLER_CFI_CHECK_FAIL_I:.*]]
// NO-MERGE-NEXT:      i8 1, label %[[TRAP_I]]
// NO-MERGE-NEXT:      i8 2, label %[[TRAP_I]]
// NO-MERGE-NEXT:      i8 3, label %[[TRAP_I]]
// NO-MERGE-NEXT:      i8 4, label %[[TRAP_I]]
// NO-MERGE-NEXT:    ], !prof [[PROF8]]
// NO-MERGE:       [[HANDLER_CFI_CHECK_FAIL_I]]:
// NO-MERGE-NEXT:    [[TMP4:%.*]] = tail call i1 @llvm.type.test(ptr [[TMP1]], metadata !"all-vtables"), !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP5:%.*]] = zext i1 [[TMP4]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP6:%.*]] = ptrtoint ptr [[TMP2]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    [[TMP7:%.*]] = ptrtoint ptr [[TMP1]] to i64, !nosanitize [[META6]]
// NO-MERGE-NEXT:    tail call void @__ubsan_handle_cfi_check_fail_abort(i64 [[TMP6]], i64 [[TMP7]], i64 [[TMP5]]) #[[ATTR7]], !nosanitize [[META6]]
// NO-MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// NO-MERGE:       [[__CFI_CHECK_FAIL_EXIT]]:
// NO-MERGE-NEXT:    ret void
//
//
// MERGE-LABEL: define dso_local void @caller(
// MERGE-SAME: ptr nofree noundef readonly captures(none) [[F:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
// MERGE-NEXT:  [[ENTRY:.*:]]
// MERGE-NEXT:    tail call void [[F]]() #[[ATTR5:[0-9]+]]
// MERGE-NEXT:    ret void
//
//
// MERGE-LABEL: define weak_odr hidden void @__cfi_check_fail(
// MERGE-SAME: ptr noundef [[TMP0:%.*]], ptr noundef [[TMP1:%.*]]) #[[ATTR0]] {
// MERGE-NEXT:  [[ENTRY:.*:]]
// MERGE-NEXT:    [[DOTNOT:%.*]] = icmp eq ptr [[TMP0]], null, !nosanitize [[META6:![0-9]+]]
// MERGE-NEXT:    br i1 [[DOTNOT]], label %[[TRAP:.*]], label %[[CONT:.*]], !prof [[PROF7:![0-9]+]], !nosanitize [[META6]]
// MERGE:       [[TRAP]]:
// MERGE-NEXT:    tail call void @llvm.ubsantrap(i8 2) #[[ATTR6:[0-9]+]], !nosanitize [[META6]]
// MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// MERGE:       [[CONT]]:
// MERGE-NEXT:    [[TMP2:%.*]] = load i8, ptr [[TMP0]], align 4, !nosanitize [[META6]]
// MERGE-NEXT:    switch i8 [[TMP2]], label %[[CONT6:.*]] [
// MERGE-NEXT:      i8 0, label %[[HANDLER_CFI_CHECK_FAIL:.*]]
// MERGE-NEXT:      i8 1, label %[[TRAP]]
// MERGE-NEXT:      i8 2, label %[[TRAP]]
// MERGE-NEXT:      i8 3, label %[[TRAP]]
// MERGE-NEXT:      i8 4, label %[[TRAP]]
// MERGE-NEXT:    ], !prof [[PROF8:![0-9]+]]
// MERGE:       [[HANDLER_CFI_CHECK_FAIL]]:
// MERGE-NEXT:    [[TMP3:%.*]] = tail call i1 @llvm.type.test(ptr [[TMP1]], metadata !"all-vtables"), !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP4:%.*]] = zext i1 [[TMP3]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP5:%.*]] = ptrtoint ptr [[TMP0]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP6:%.*]] = ptrtoint ptr [[TMP1]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    tail call void @__ubsan_handle_cfi_check_fail_abort(i64 [[TMP5]], i64 [[TMP6]], i64 [[TMP4]]) #[[ATTR6]], !nosanitize [[META6]]
// MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// MERGE:       [[CONT6]]:
// MERGE-NEXT:    ret void, !nosanitize [[META6]]
//
//
// MERGE-LABEL: define weak void @__cfi_check(
// MERGE-SAME: i64 noundef [[TMP0:%.*]], ptr noundef [[TMP1:%.*]], ptr noundef [[TMP2:%.*]]) local_unnamed_addr #[[ATTR4:[0-9]+]] align 4096 {
// MERGE-NEXT:  [[ENTRY:.*:]]
// MERGE-NEXT:    [[DOTNOT_I:%.*]] = icmp eq ptr [[TMP2]], null, !nosanitize [[META6]]
// MERGE-NEXT:    br i1 [[DOTNOT_I]], label %[[TRAP_I:.*]], label %[[CONT_I:.*]], !prof [[PROF7]], !nosanitize [[META6]]
// MERGE:       [[TRAP_I]]:
// MERGE-NEXT:    tail call void @llvm.ubsantrap(i8 2) #[[ATTR6]], !nosanitize [[META6]]
// MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// MERGE:       [[CONT_I]]:
// MERGE-NEXT:    [[TMP3:%.*]] = load i8, ptr [[TMP2]], align 4, !nosanitize [[META6]]
// MERGE-NEXT:    switch i8 [[TMP3]], label %[[__CFI_CHECK_FAIL_EXIT:.*]] [
// MERGE-NEXT:      i8 0, label %[[HANDLER_CFI_CHECK_FAIL_I:.*]]
// MERGE-NEXT:      i8 1, label %[[TRAP_I]]
// MERGE-NEXT:      i8 2, label %[[TRAP_I]]
// MERGE-NEXT:      i8 3, label %[[TRAP_I]]
// MERGE-NEXT:      i8 4, label %[[TRAP_I]]
// MERGE-NEXT:    ], !prof [[PROF8]]
// MERGE:       [[HANDLER_CFI_CHECK_FAIL_I]]:
// MERGE-NEXT:    [[TMP4:%.*]] = tail call i1 @llvm.type.test(ptr [[TMP1]], metadata !"all-vtables"), !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP5:%.*]] = zext i1 [[TMP4]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP6:%.*]] = ptrtoint ptr [[TMP2]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    [[TMP7:%.*]] = ptrtoint ptr [[TMP1]] to i64, !nosanitize [[META6]]
// MERGE-NEXT:    tail call void @__ubsan_handle_cfi_check_fail_abort(i64 [[TMP6]], i64 [[TMP7]], i64 [[TMP5]]) #[[ATTR6]], !nosanitize [[META6]]
// MERGE-NEXT:    unreachable, !nosanitize [[META6]]
// MERGE:       [[__CFI_CHECK_FAIL_EXIT]]:
// MERGE-NEXT:    ret void
//
//.
// NO-MERGE: [[META6]] = !{}
// NO-MERGE: [[PROF7]] = !{!"branch_weights", i32 1, i32 1048575}
// NO-MERGE: [[PROF8]] = !{!"branch_weights", i32 -20480, i32 4096, i32 4095, i32 4095, i32 4095, i32 4095}
//.
// MERGE: [[META6]] = !{}
// MERGE: [[PROF7]] = !{!"branch_weights", i32 1, i32 1048575}
// MERGE: [[PROF8]] = !{!"branch_weights", i32 -20480, i32 4096, i32 4095, i32 4095, i32 4095, i32 4095}
//.
