xref: /llvm-project/llvm/test/Transforms/InstCombine/allow-checks.ll (revision c0cabfbdaf547b1152065be5419bc48e0b83b761)
1*c0cabfbdSVitaly Buka; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2*c0cabfbdSVitaly Buka; RUN: opt < %s -passes=instcombine -S | FileCheck %s --implicit-check-not="call i1 @llvm.allow"
3*c0cabfbdSVitaly Buka
4*c0cabfbdSVitaly Bukadefine i1 @test_runtime()  {
5*c0cabfbdSVitaly Buka; CHECK-LABEL: @test_runtime(
6*c0cabfbdSVitaly Buka; CHECK-NEXT:  entry:
7*c0cabfbdSVitaly Buka; CHECK-NEXT:    [[HOT:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"test")
8*c0cabfbdSVitaly Buka; CHECK-NEXT:    ret i1 [[HOT]]
9*c0cabfbdSVitaly Buka;
10*c0cabfbdSVitaly Bukaentry:
11*c0cabfbdSVitaly Buka  %allow = call i1 @llvm.allow.runtime.check(metadata !"test")
12*c0cabfbdSVitaly Buka  ret i1 %allow
13*c0cabfbdSVitaly Buka}
14*c0cabfbdSVitaly Buka
15*c0cabfbdSVitaly Bukadefine void @test_runtime_void()  {
16*c0cabfbdSVitaly Buka; CHECK-LABEL: @test_runtime_void(
17*c0cabfbdSVitaly Buka; CHECK-NEXT:  entry:
18*c0cabfbdSVitaly Buka; CHECK-NEXT:    ret void
19*c0cabfbdSVitaly Buka;
20*c0cabfbdSVitaly Bukaentry:
21*c0cabfbdSVitaly Buka  %allow = call i1 @llvm.allow.runtime.check(metadata !"test")
22*c0cabfbdSVitaly Buka  ret void
23*c0cabfbdSVitaly Buka}
24*c0cabfbdSVitaly Buka
25*c0cabfbdSVitaly Bukadefine i1 @test_ubsan()  {
26*c0cabfbdSVitaly Buka; CHECK-LABEL: @test_ubsan(
27*c0cabfbdSVitaly Buka; CHECK-NEXT:  entry:
28*c0cabfbdSVitaly Buka; CHECK-NEXT:    [[HOT:%.*]] = call i1 @llvm.allow.ubsan.check(i8 11)
29*c0cabfbdSVitaly Buka; CHECK-NEXT:    ret i1 [[HOT]]
30*c0cabfbdSVitaly Buka;
31*c0cabfbdSVitaly Bukaentry:
32*c0cabfbdSVitaly Buka  %allow = call i1 @llvm.allow.ubsan.check(i8 11)
33*c0cabfbdSVitaly Buka  ret i1 %allow
34*c0cabfbdSVitaly Buka}
35*c0cabfbdSVitaly Buka
36*c0cabfbdSVitaly Bukadefine void @test_ubsan_void()  {
37*c0cabfbdSVitaly Buka; CHECK-LABEL: @test_ubsan_void(
38*c0cabfbdSVitaly Buka; CHECK-NEXT:  entry:
39*c0cabfbdSVitaly Buka; CHECK-NEXT:    ret void
40*c0cabfbdSVitaly Buka;
41*c0cabfbdSVitaly Bukaentry:
42*c0cabfbdSVitaly Buka  %allow = call i1 @llvm.allow.ubsan.check(i8 11)
43*c0cabfbdSVitaly Buka  ret void
44*c0cabfbdSVitaly Buka}
45