| ; 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 |
| } |