blob: 11a49f5cdbc55176760213fa40d8745bf32b58dd [file] [edit]
; RUN: %lli -jit-kind=mcjit -force-interpreter=true %s | FileCheck %s
; CHECK: result is 6
@.str = private constant [14 x i8] c"result is %d\0A\00", align 1
declare i32 @printf(ptr, ...)
define i32 @sum(i32 %0, ...) {
%2 = alloca ptr, align 8
call void @llvm.va_start.p0(ptr nonnull %2)
%3 = va_arg ptr %2, i32
%4 = add nsw i32 %3, %0
%5 = va_arg ptr %2, i32
%6 = add nsw i32 %4, %5
call void @llvm.va_end.p0(ptr nonnull %2)
ret i32 %6
}
define i32 @main() {
%1 = tail call i32 (i32, ...) @sum(i32 noundef 1, i32 noundef 2, i32 noundef 3)
%2 = tail call i32 (ptr, ...) @printf(ptr @.str, i32 noundef %1)
ret i32 0
}