xref: /llvm-project/llvm/test/CodeGen/AArch64/allow-check.ll (revision 20f56e1f8e51d672425ec0c8f2ec243b131e8296)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2; RUN: llc < %s -mtriple=aarch64 -global-isel=0 -fast-isel=0 | FileCheck %s
3; RUN: llc < %s -mtriple=aarch64 -global-isel=1 -fast-isel=0 | FileCheck %s
4; RUN: llc < %s -mtriple=aarch64 -global-isel=0 -fast-isel=1 | FileCheck %s
5
6target triple = "aarch64-linux"
7
8define i1 @test_runtime() local_unnamed_addr {
9; CHECK-LABEL: test_runtime:
10; CHECK:       // %bb.0: // %entry
11; CHECK-NEXT:    mov w0, #1 // =0x1
12; CHECK-NEXT:    ret
13entry:
14  %allow = call i1 @llvm.allow.runtime.check(metadata !"test_check")
15  ret i1 %allow
16}
17
18declare i1 @llvm.allow.runtime.check(metadata) nounwind
19
20define i1 @test_ubsan() local_unnamed_addr {
21; CHECK-LABEL: test_ubsan:
22; CHECK:       // %bb.0: // %entry
23; CHECK-NEXT:    mov w0, #1 // =0x1
24; CHECK-NEXT:    ret
25entry:
26  %allow = call i1 @llvm.allow.ubsan.check(i8 7)
27  ret i1 %allow
28}
29
30declare i1 @llvm.allow.ubsan.check(i8) nounwind
31