; RUN: opt < %s -passes=lower-allow-check -S | FileCheck %s ; RUN: opt < %s -passes=lower-allow-check -lower-allow-check-random-rate=0 -S | FileCheck %s declare i1 @llvm.allow.sanitize.address() declare i1 @llvm.allow.sanitize.thread() declare i1 @llvm.allow.sanitize.memory() declare i1 @llvm.allow.sanitize.hwaddress() define i1 @test_address() sanitize_address { ; CHECK-LABEL: @test_address( ; CHECK-NEXT: ret i1 true %1 = call i1 @llvm.allow.sanitize.address() ret i1 %1 } define i1 @test_no_sanitize_address() { ; CHECK-LABEL: @test_no_sanitize_address( ; CHECK-NEXT: ret i1 false %1 = call i1 @llvm.allow.sanitize.address() ret i1 %1 } define i1 @test_address_but_no_thread() sanitize_address { ; CHECK-LABEL: @test_address_but_no_thread( ; CHECK-NEXT: ret i1 false %1 = call i1 @llvm.allow.sanitize.thread() ret i1 %1 } define i1 @test_thread() sanitize_thread { ; CHECK-LABEL: @test_thread( ; CHECK-NEXT: ret i1 true %1 = call i1 @llvm.allow.sanitize.thread() ret i1 %1 } define i1 @test_no_sanitize_thread() { ; CHECK-LABEL: @test_no_sanitize_thread( ; CHECK-NEXT: ret i1 false %1 = call i1 @llvm.allow.sanitize.thread() ret i1 %1 } define i1 @test_memory() sanitize_memory { ; CHECK-LABEL: @test_memory( ; CHECK-NEXT: ret i1 true %1 = call i1 @llvm.allow.sanitize.memory() ret i1 %1 } define i1 @test_no_sanitize_memory() { ; CHECK-LABEL: @test_no_sanitize_memory( ; CHECK-NEXT: ret i1 false %1 = call i1 @llvm.allow.sanitize.memory() ret i1 %1 } define i1 @test_hwaddress() sanitize_hwaddress { ; CHECK-LABEL: @test_hwaddress( ; CHECK-NEXT: ret i1 true %1 = call i1 @llvm.allow.sanitize.hwaddress() ret i1 %1 } define i1 @test_no_sanitize_hwaddress() { ; CHECK-LABEL: @test_no_sanitize_hwaddress( ; CHECK-NEXT: ret i1 false %1 = call i1 @llvm.allow.sanitize.hwaddress() ret i1 %1 }