From b75137d1f4e6c6760f560928a23167fcd076a8ec Mon Sep 17 00:00:00 2001
From: Chris Lattner
declare void %llvm.va_start(<va_list>* <arglist>)+
declare void %llvm.va_start(i8* <arglist>)
The 'llvm.va_start' intrinsic initializes
*<arglist> for subsequent use by
The 'llvm.va_end' intrinsic destroys <arglist>
which has been initialized previously with llvm.va_start
or llvm.va_copy. The argument is a va_list to destroy. The 'llvm.va_end' intrinsic works just like the va_end
macro available in C. In a target-dependent way, it destroys the va_list.
Calls to llvm.va_start and llvm.va_copy must be matched exactly
with calls to llvm.va_end.Syntax:
- declare void %llvm.va_end(<va_list*> <arglist>)
+ declare void %llvm.va_end(i8* <arglist>)
Overview:
+
Arguments:
+
Semantics:
+
- declare void %llvm.va_copy(<va_list>* <destarglist>, - <va_list>* <srcarglist>) + declare void %llvm.va_copy(i8* <destarglist>, i8* <srcarglist>)