[sanitizer] Improve FreeBSD ASLR detection
[llvm-project.git] / llvm / test / Instrumentation / DataFlowSanitizer / custom_fun_varargs_attributes.ll
blobd1fab43ebf351524c6c15c5d794f62e363ae65d0
1 ; RUN: opt < %s -dfsan -dfsan-abilist=%S/Inputs/abilist.txt -S | FileCheck %s
2 target triple = "x86_64-unknown-linux-gnu"
4 ; CHECK: @__dfsan_shadow_width_bits = weak_odr constant i32 [[#SBITS:]]
5 ; CHECK: @__dfsan_shadow_width_bytes = weak_odr constant i32 [[#SBYTES:]]
7 ; Declare a custom varargs function.
8 declare i16 @custom_varargs(i64, ...)
10 ; CHECK-LABEL: @call_custom_varargs.dfsan
11 define void @call_custom_varargs(i8* %buf) {
12   ;; All arguments have an annotation.  Check that the transformed function
13   ;; preserves each annotation.
15   ; CHECK: call zeroext i16 (i64, i[[#SBITS]], i[[#SBITS]]*, i[[#SBITS]]*, ...)
16   ; CHECK-SAME: @__dfsw_custom_varargs
17   ; CHECK-SAME: i64 signext 200
18   ; CHECK-SAME: i8* nonnull
19   ; CHECK-SAME: i64 zeroext 20
20   ; CHECK-SAME: i32 signext 1
21   %call = call zeroext i16 (i64, ...) @custom_varargs(
22     i64 signext 200,
23     i8* nonnull %buf,
24     i64 zeroext 20,
25     i32 signext 1
26   )
27   ret void