| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; RUN: opt < %s -passes=instcombine -S | FileCheck %s --implicit-check-not="call i1 @llvm.allow" |
| |
| define i1 @test_runtime() { |
| ; CHECK-LABEL: @test_runtime( |
| ; CHECK-NEXT: entry: |
| ; CHECK-NEXT: [[HOT:%.*]] = call i1 @llvm.allow.runtime.check(metadata !"test") |
| ; CHECK-NEXT: ret i1 [[HOT]] |
| ; |
| entry: |
| %allow = call i1 @llvm.allow.runtime.check(metadata !"test") |
| ret i1 %allow |
| } |
| |
| define void @test_runtime_void() { |
| ; CHECK-LABEL: @test_runtime_void( |
| ; CHECK-NEXT: entry: |
| ; CHECK-NEXT: ret void |
| ; |
| entry: |
| %allow = call i1 @llvm.allow.runtime.check(metadata !"test") |
| ret void |
| } |
| |
| define i1 @test_ubsan() { |
| ; CHECK-LABEL: @test_ubsan( |
| ; CHECK-NEXT: entry: |
| ; CHECK-NEXT: [[HOT:%.*]] = call i1 @llvm.allow.ubsan.check(i8 11) |
| ; CHECK-NEXT: ret i1 [[HOT]] |
| ; |
| entry: |
| %allow = call i1 @llvm.allow.ubsan.check(i8 11) |
| ret i1 %allow |
| } |
| |
| define void @test_ubsan_void() { |
| ; CHECK-LABEL: @test_ubsan_void( |
| ; CHECK-NEXT: entry: |
| ; CHECK-NEXT: ret void |
| ; |
| entry: |
| %allow = call i1 @llvm.allow.ubsan.check(i8 11) |
| ret void |
| } |