1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Instrumentation/DataFlowSanitizer/uninstrumented_local_functions.ll
George Balatsouras 9e04c36eae [dfsan] Increase coverage of vector and select tests
Add more expectations in vector.ll and select.ll based on command-line option combinations.
Also, remove hard-coded shadow width references to enable fast8 transition.

Reviewed By: stephan.yichao.zhao

Differential Revision: https://reviews.llvm.org/D97903
2021-03-04 12:56:55 -08:00

29 lines
1.1 KiB
LLVM

; RUN: opt < %s -dfsan -dfsan-args-abi -dfsan-abilist=%S/Inputs/abilist.txt -S | FileCheck %s --check-prefixes=CHECK,ARGS_ABI
; RUN: opt < %s -dfsan -dfsan-abilist=%S/Inputs/abilist.txt -S | FileCheck %s --check-prefixes=CHECK,TLS_ABI
target triple = "x86_64-unknown-linux-gnu"
; CHECK: @__dfsan_shadow_width_bits = weak_odr constant i32 [[#SBITS:]]
; CHECK: @__dfsan_shadow_width_bytes = weak_odr constant i32 [[#SBYTES:]]
define internal i8 @uninstrumented_internal_fun(i8 %in) {
ret i8 %in
}
define i8 @call_uninstrumented_internal_fun(i8 %in) {
%call = call i8 @uninstrumented_internal_fun(i8 %in)
ret i8 %call
}
; TLS_ABI: define internal i8 @"dfsw$uninstrumented_internal_fun"
; ARGS_ABI: define internal { i8, i[[#SBITS]] } @"dfsw$uninstrumented_internal_fun"
define private i8 @uninstrumented_private_fun(i8 %in) {
ret i8 %in
}
define i8 @call_uninstrumented_private_fun(i8 %in) {
%call = call i8 @uninstrumented_private_fun(i8 %in)
ret i8 %call
}
; TLS_ABI: define private i8 @"dfsw$uninstrumented_private_fun"
; ARGS_ABI: define private { i8, i[[#SBITS]] } @"dfsw$uninstrumented_private_fun"