45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=instcombine -S | FileCheck %s --implicit-check-not="call i1 @llvm.allow"3 4define i1 @test_runtime() {5; CHECK-LABEL: @test_runtime(6; CHECK-NEXT: entry:7; CHECK-NEXT: [[HOT:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"test")8; CHECK-NEXT: ret i1 [[HOT]]9;10entry:11 %allow = call i1 @llvm.allow.runtime.check(metadata !"test")12 ret i1 %allow13}14 15define void @test_runtime_void() {16; CHECK-LABEL: @test_runtime_void(17; CHECK-NEXT: entry:18; CHECK-NEXT: ret void19;20entry:21 %allow = call i1 @llvm.allow.runtime.check(metadata !"test")22 ret void23}24 25define i1 @test_ubsan() {26; CHECK-LABEL: @test_ubsan(27; CHECK-NEXT: entry:28; CHECK-NEXT: [[HOT:%.*]] = call i1 @llvm.allow.ubsan.check(i8 11)29; CHECK-NEXT: ret i1 [[HOT]]30;31entry:32 %allow = call i1 @llvm.allow.ubsan.check(i8 11)33 ret i1 %allow34}35 36define void @test_ubsan_void() {37; CHECK-LABEL: @test_ubsan_void(38; CHECK-NEXT: entry:39; CHECK-NEXT: ret void40;41entry:42 %allow = call i1 @llvm.allow.ubsan.check(i8 11)43 ret void44}45