// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4
// RUN: %clang_cc1 -cc1 -triple x86_64-pc-linux-gnu -emit-llvm -o - %s | FileCheck %s

static_assert(__has_builtin(__builtin_allow_runtime_check), "");

// CHECK-LABEL: define dso_local noundef zeroext i1 @_Z4testv(
// CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
// CHECK-NEXT:  entry:
// CHECK-NEXT:    [[TMP0:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"mycheck")
// CHECK-NEXT:    ret i1 [[TMP0]]
//
bool test() {
  return __builtin_allow_runtime_check("mycheck");
}

// CHECK-LABEL: define dso_local noundef zeroext i1 @_Z10test_twicev(
// CHECK-SAME: ) #[[ATTR0]] {
// CHECK-NEXT:  entry:
// CHECK-NEXT:    [[TMP0:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"mycheck")
// CHECK-NEXT:    [[CONV:%.*]] = zext i1 [[TMP0]] to i32
// CHECK-NEXT:    [[TMP1:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"mycheck")
// CHECK-NEXT:    [[CONV1:%.*]] = zext i1 [[TMP1]] to i32
// CHECK-NEXT:    [[OR:%.*]] = or i32 [[CONV]], [[CONV1]]
// CHECK-NEXT:    [[TOBOOL:%.*]] = icmp ne i32 [[OR]], 0
// CHECK-NEXT:    ret i1 [[TOBOOL]]
//
bool test_twice() {
  return __builtin_allow_runtime_check("mycheck") | __builtin_allow_runtime_check("mycheck");
}
