[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Instrumentation / DataFlowSanitizer / custom_fun_varargs_attributes.ll
blob6e9cb01ccebc71cc1836c10c44bc6063ba8b1ce2
1 ; RUN: opt < %s -dfsan -dfsan-args-abi -dfsan-abilist=%S/Inputs/abilist.txt -S | FileCheck %s
2 ; RUN: opt < %s -dfsan                 -dfsan-abilist=%S/Inputs/abilist.txt -S | FileCheck %s
4 target triple = "x86_64-unknown-linux-gnu"
6 ; Declare a custom varargs function.
7 declare i16 @custom_varargs(i64, ...)
9 ; CHECK-LABEL: @"dfs$call_custom_varargs"
10 define void @call_custom_varargs(i8* %buf) {
11   ;; All arguments have an annotation.  Check that the transformed function
12   ;; preserves each annotation.
14   ; CHECK: call zeroext i16 (i64, i16, i16*, i16*, ...)
15   ; CHECK: @__dfsw_custom_varargs
16   ; CHECK: i64 signext 200
17   ; CHECK: i8* nonnull
18   ; CHECK: i64 zeroext 20
19   ; CHECK: i32 signext 1
20   %call = call zeroext i16 (i64, ...) @custom_varargs(
21     i64 signext 200,
22     i8* nonnull %buf,
23     i64 zeroext 20,
24     i32 signext 1
25   )
26   ret void