xref: /llvm-project/llvm/test/CodeGen/RISCV/allow-check.ll (revision 20f56e1f8e51d672425ec0c8f2ec243b131e8296)
1*20f56e1fSVitaly Buka; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv32 -global-isel=0 -fast-isel=0 | FileCheck %s
3*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv32 -global-isel=1 -fast-isel=0 | FileCheck %s
4*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv32 -global-isel=0 -fast-isel=1 | FileCheck %s
5*20f56e1fSVitaly Buka
6*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv64 -global-isel=0 -fast-isel=0 | FileCheck %s
7*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv64 -global-isel=1 -fast-isel=0 | FileCheck %s
8*20f56e1fSVitaly Buka; RUN: llc < %s -mtriple=riscv64 -global-isel=0 -fast-isel=1 | FileCheck %s
9*20f56e1fSVitaly Buka
10*20f56e1fSVitaly Bukadefine i1 @test_runtime() local_unnamed_addr {
11*20f56e1fSVitaly Buka; CHECK-LABEL: test_runtime:
12*20f56e1fSVitaly Buka; CHECK:       # %bb.0: # %entry
13*20f56e1fSVitaly Buka; CHECK-NEXT:    li a0, 1
14*20f56e1fSVitaly Buka; CHECK-NEXT:    ret
15*20f56e1fSVitaly Bukaentry:
16*20f56e1fSVitaly Buka  %allow = call i1 @llvm.allow.runtime.check(metadata !"test_check")
17*20f56e1fSVitaly Buka  ret i1 %allow
18*20f56e1fSVitaly Buka}
19*20f56e1fSVitaly Buka
20*20f56e1fSVitaly Bukadeclare i1 @llvm.allow.runtime.check(metadata) nounwind
21*20f56e1fSVitaly Buka
22*20f56e1fSVitaly Bukadefine i1 @test_ubsan() local_unnamed_addr {
23*20f56e1fSVitaly Buka; CHECK-LABEL: test_ubsan:
24*20f56e1fSVitaly Buka; CHECK:       # %bb.0: # %entry
25*20f56e1fSVitaly Buka; CHECK-NEXT:    li a0, 1
26*20f56e1fSVitaly Buka; CHECK-NEXT:    ret
27*20f56e1fSVitaly Bukaentry:
28*20f56e1fSVitaly Buka  %allow = call i1 @llvm.allow.ubsan.check(i8 7)
29*20f56e1fSVitaly Buka  ret i1 %allow
30*20f56e1fSVitaly Buka}
31*20f56e1fSVitaly Buka
32*20f56e1fSVitaly Bukadeclare i1 @llvm.allow.ubsan.check(i8) nounwind
33