Mercurial > hg > CbC > CbC_llvm
view llvm/test/Feature/varargs.ll @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
; RUN: llvm-as < %s | llvm-dis > %t1.ll ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll ; RUN: diff %t1.ll %t2.ll ; Demonstrate all of the variable argument handling intrinsic functions plus ; the va_arg instruction. declare void @llvm.va_start(ptr) declare void @llvm.va_copy(ptr, ptr) declare void @llvm.va_end(ptr) define i32 @test(i32 %X, ...) { %ap = alloca ptr ; <ptr> [#uses=4] call void @llvm.va_start( ptr %ap ) %tmp = va_arg ptr %ap, i32 ; <i32> [#uses=1] %aq = alloca ptr ; <ptr> [#uses=2] call void @llvm.va_copy( ptr %aq, ptr %ap ) call void @llvm.va_end( ptr %aq ) call void @llvm.va_end( ptr %ap ) ret i32 %tmp }