blob: eb3c6073aabe57cb41107ee459c0420de4e1fa13 [file] [log] [blame] [edit]
; 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
}