1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; 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 %allow 13} 14 15define void @test_runtime_void() { 16; CHECK-LABEL: @test_runtime_void( 17; CHECK-NEXT: entry: 18; CHECK-NEXT: ret void 19; 20entry: 21 %allow = call i1 @llvm.allow.runtime.check(metadata !"test") 22 ret void 23} 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 %allow 34} 35 36define void @test_ubsan_void() { 37; CHECK-LABEL: @test_ubsan_void( 38; CHECK-NEXT: entry: 39; CHECK-NEXT: ret void 40; 41entry: 42 %allow = call i1 @llvm.allow.ubsan.check(i8 11) 43 ret void 44} 45